pub struct LuaActor {
pub recipients: HashMap<String, Recipient<LuaMessage>>,
/* private fields */
}
Expand description
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>>
Implementations§
Source§impl LuaActor
impl LuaActor
pub fn new_with_vm( vm: Lua, started: Option<String>, handle: Option<String>, stopped: Option<String>, ) -> Result<LuaActor, LuaError>
pub fn new( started: Option<String>, handle: Option<String>, stopped: Option<String>, ) -> Result<LuaActor, LuaError>
Sourcepub fn add_recipients(
&mut self,
name: &str,
rec: Recipient<LuaMessage>,
) -> Option<Recipient<LuaMessage>>
pub fn add_recipients( &mut self, name: &str, rec: Recipient<LuaMessage>, ) -> Option<Recipient<LuaMessage>>
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§
Source§impl Actor for LuaActor
impl Actor for LuaActor
Source§fn started(&mut self, ctx: &mut Context<Self>)
fn started(&mut self, ctx: &mut Context<Self>)
Source§fn stopped(&mut self, ctx: &mut Context<Self>)
fn stopped(&mut self, ctx: &mut Context<Self>)
Source§fn stopping(&mut self, ctx: &mut Self::Context) -> Running
fn stopping(&mut self, ctx: &mut Self::Context) -> Running
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