Struct tonari_actor::Context
source · [−]pub struct Context<M> {
pub system_handle: SystemHandle,
pub myself: Recipient<M>,
/* private fields */
}Expand description
An execution context for a specific actor. Specifically, this is useful for managing
the lifecycle of itself (through the myself field) and other actors via the SystemHandle
provided. A time-based deadline for receiving a message can be set using
Self::set_deadline() and friends.
Fields
system_handle: SystemHandlemyself: Recipient<M>Implementations
sourceimpl<M> Context<M>
impl<M> Context<M>
sourcepub fn deadline(&self) -> &Option<Instant>
pub fn deadline(&self) -> &Option<Instant>
Get the deadline previously set using Self::set_deadline() or Self::set_timeout().
The deadline is cleared just before Actor::deadline_passed() is called.
sourcepub fn set_deadline(&mut self, deadline: Option<Instant>)
pub fn set_deadline(&mut self, deadline: Option<Instant>)
Schedule a future one-shot call to Actor::deadline_passed(), or cancel the schedule.
A deadline in the past is considered to expire right in the next iteration (possibly after
receiving new messages).
sourcepub fn set_timeout(&mut self, timeout: Option<Duration>)
pub fn set_timeout(&mut self, timeout: Option<Duration>)
Schedule or cancel a call to Actor::deadline_passed() after timeout from now.
Convenience variant of Self::set_deadline().
sourcepub fn subscribe<E: Event + Into<M>>(&self)where
M: 'static,
pub fn subscribe<E: Event + Into<M>>(&self)where
M: 'static,
Subscribe current actor to event of type E. This is part of the event system. You don’t
need to call this method to receive direct messages sent using Addr and Recipient.
Note that subscribing twice to the same event would result in duplicate events – no de-duplication of subscriptions is performed.
Auto Trait Implementations
impl<M> !RefUnwindSafe for Context<M>
impl<M> Send for Context<M>
impl<M> Sync for Context<M>
impl<M> Unpin for Context<M>
impl<M> !UnwindSafe for Context<M>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more