[][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.

LuaActor exposed most of the actix context API to the lua enviroment.

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 recipient = ctx.new_actor(script_path, [actor_name])

Create a new actor with given lua script. returns a recipient which can be used in ctx.send and ctx.do_send.

local result = ctx.send(recipient, msg)

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

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(
    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 = Infallible

The type returned in the event of a conversion error.

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

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

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

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

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

The type returned in the event of a conversion error.

impl<T> Erased for T