pub struct Context<A> { /* private fields */ }
Expand description
Context
is used to control how the actor is managed and to get the actor’s address from inside
of a message handler.
Implementations§
source§impl<A: Actor> Context<A>
impl<A: Actor> Context<A>
sourcepub fn stop_self(&mut self)
pub fn stop_self(&mut self)
Stop this actor as soon as it has finished processing current message. This means that the
Actor::stopped
method will be called. This will not stop all actors on the address.
sourcepub fn stop_all(&self)
pub fn stop_all(&self)
Stop all actors on this address.
This bypasses the message queue, so it will always be handled as soon as possible by all actors. It will not wait for other messages to be enqueued if the queue is full. In other words, it will not wait for an actor which is lagging behind on broadcast messages to catch up before other actors can receive the shutdown message. Therefore, each actor is guaranteed to shut down as its next action immediately after it finishes processing its current message, or as soon as its task is woken if it is currently idle.
This is similar to calling Context::stop_self
on all actors active on this address, but
a broadcast message that would cause Context::stop_self
to be called may have to wait
for other broadcast messages, during which time other messages may be handled by actors (i.e
the shutdown may be delayed by a lagging actor).