Skip to main content

ActorContext

Struct ActorContext 

Source
pub struct ActorContext {
    pub actor_id: ActorId,
    pub actor_name: String,
    pub send_mode: Option<SendMode>,
    pub headers: Headers,
    /* private fields */
}
Expand description

Context passed to actor lifecycle hooks and handlers.

Note: ActorContext is not Clone because Headers contains type-erased header values (Box<dyn HeaderValue>) which are not cloneable. This is an intentional v0.2 API change — handlers receive &mut ActorContext and should extract needed values rather than cloning the context.

Fields§

§actor_id: ActorId

Unique identity of the actor.

§actor_name: String

Human-readable name of the actor.

§send_mode: Option<SendMode>

How the current message was sent (Tell, Ask, Expand, Reduce, Transform). None during on_start/on_stop (no message being processed).

§headers: Headers

Headers attached to the current message. Empty during on_start/on_stop.

Implementations§

Source§

impl ActorContext

Source

pub fn new(actor_id: ActorId, actor_name: String) -> Self

Create a new ActorContext for an actor.

Used by runtime adapters to construct the context before calling lifecycle hooks and handlers.

Source

pub async fn cancelled(&self)

Returns a future that completes when the current request is cancelled. Use in tokio::select! to cooperatively check for cancellation:

tokio::select! {
    result = some_long_operation() => { /* use result */ }
    _ = ctx.cancelled() => { return Err(ActorError::internal("cancelled")); }
}

Returns futures::future::pending() if no cancellation token is set, meaning the branch will never trigger.

Source

pub fn set_cancellation_token(&mut self, token: Option<CancellationToken>)

Set the cancellation token for the current message. Used by runtime adapters to propagate cancellation into handlers.

Trait Implementations§

Source§

impl Debug for ActorContext

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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>,

Source§

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>,

Source§

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