[][src]Struct actix_lua::LuaActor

pub struct LuaActor {
    pub recipients: HashMap<String, Recipient<LuaMessage>>,
    // some fields omitted
}

Top level struct which holds a lua state for itself.

It provides most of the actix context API to the lua enviroment.

You can create new LuaActor with LuaActorBuilder.

ctx.msg

The message sent to Lua actor.

ctx.notify(msg)

Send message msg to self.

ctx.notify_later(msg, seconds)

Send message msg to self after specified period of time.

local result = ctx.send(recipient, msg)

Send message msg to `recipient asynchronously and wait for response.

Calling ctx.send yield the current coroutine and returns a ThreadYield(thread_id) message. LuaActor will wait for the response and resume the yielded coroutine once the response is returned.

Equivalent to actix::Recipient.send.

ctx.do_send(recipient, msg)

Send message msg to recipient.

Equivalent to actix::Recipient.do_send.

ctx.terminate()

Terminate actor execution.

Fields

recipients: HashMap<String, Recipient<LuaMessage>>

Methods

impl LuaActor[src]

pub fn new_with_vm(
    vm: Lua,
    started: Option<String>,
    handle: Option<String>,
    stopped: Option<String>
) -> Result<LuaActor, LuaError>
[src]

pub fn new(
    started: Option<String>,
    handle: Option<String>,
    stopped: Option<String>
) -> Result<LuaActor, LuaError>
[src]

pub fn add_recipients(
    &mut self,
    name: &str,
    rec: Recipient<LuaMessage>
) -> Option<Recipient<LuaMessage>>
[src]

Add a recipient to the actor's recipient list. You can send message to the recipient via name with the context API ctx.send(name, message)

Trait Implementations

impl Actor for LuaActor[src]

type Context = Context<Self>

Actor execution context type

fn stopping(&mut self, ctx: &mut Self::Context) -> Running[src]

Method is called after an actor is in Actor::Stopping state. There could be several reasons for stopping. Context::stop get called by the actor itself. All addresses to current actor get dropped and no more evented objects left in the context. Read more

fn start(self) -> Addr<Self> where
    Self: Actor<Context = Context<Self>>, 
[src]

Start new asynchronous actor, returns address of newly created actor. Read more

fn start_default() -> Addr<Self> where
    Self: Actor<Context = Context<Self>> + Default
[src]

Start new asynchronous actor, returns address of newly created actor.

fn create<F>(f: F) -> Addr<Self> where
    F: FnOnce(&mut Context<Self>) -> Self + 'static,
    Self: Actor<Context = Context<Self>>, 
[src]

Use create method, if you need Context object during actor initialization. Read more

impl Handler<LuaMessage> for LuaActor[src]

type Result = LuaMessage

The type of value that this handle will return

Auto Trait Implementations

impl Send for LuaActor

impl !Sync for LuaActor

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T> Erased for T