Struct xtra::Context

source ·
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>

source

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.

source

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).

source

pub fn mailbox(&self) -> &Mailbox<A>

Get a reference to the Mailbox of this actor.

Auto Trait Implementations§

§

impl<A> !RefUnwindSafe for Context<A>

§

impl<A> Send for Context<A>

§

impl<A> Sync for Context<A>

§

impl<A> Unpin for Context<A>

§

impl<A> !UnwindSafe for Context<A>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more