pub struct ActorHandle<A: Actor> { /* private fields */ }
Expand description
ActorHandles represent a (local) serving actor. It is used to access its messaging and signal ports, as well as to synchronize with its lifecycle (e.g., providing joins). Once dropped, the handle is detached from the underlying actor instance, and there is no longer any way to join it.
Correspondingly, crate::ActorRef
s refer to (possibly) remote
actors.
Implementations§
Source§impl<A: Actor> ActorHandle<A>
A handle to a running (local) actor.
impl<A: Actor> ActorHandle<A>
A handle to a running (local) actor.
Sourcepub fn drain_and_stop(&self) -> Result<(), ActorError>
pub fn drain_and_stop(&self) -> Result<(), ActorError>
Signal the actor to drain its current messages and then stop.
Sourcepub fn status(&self) -> Receiver<ActorStatus>
pub fn status(&self) -> Receiver<ActorStatus>
A watch that observes the lifecycle state of the actor.
Sourcepub fn send<M: Message>(&self, message: M) -> Result<(), MailboxSenderError>where
A: Handler<M>,
pub fn send<M: Message>(&self, message: M) -> Result<(), MailboxSenderError>where
A: Handler<M>,
Send a message to the actor. Messages sent through the handle are always queued in process, and do not require serialization.
Sourcepub fn port<M: Message>(&self) -> PortHandle<M>where
A: Handler<M>,
pub fn port<M: Message>(&self) -> PortHandle<M>where
A: Handler<M>,
Return a port for the provided message type handled by the actor.
Trait Implementations§
Source§impl<A: Actor> Clone for ActorHandle<A>
impl<A: Actor> Clone for ActorHandle<A>
Source§impl<A: Actor> Debug for ActorHandle<A>
impl<A: Actor> Debug for ActorHandle<A>
Source§impl<A: Actor> IntoFuture for ActorHandle<A>
IntoFuture allows users to await the handle to join it. The future
resolves when the actor itself has stopped processing messages.
The future resolves to the actor’s final status.
impl<A: Actor> IntoFuture for ActorHandle<A>
IntoFuture allows users to await the handle to join it. The future resolves when the actor itself has stopped processing messages. The future resolves to the actor’s final status.
Source§type Output = ActorStatus
type Output = ActorStatus
Source§type IntoFuture = Pin<Box<dyn Future<Output = <ActorHandle<A> as IntoFuture>::Output> + Send>>
type IntoFuture = Pin<Box<dyn Future<Output = <ActorHandle<A> as IntoFuture>::Output> + Send>>
Source§fn into_future(self) -> Self::IntoFuture
fn into_future(self) -> Self::IntoFuture
Source§impl<A> MailboxAdminMessageClient for ActorHandle<A>where
A: Handler<MailboxAdminMessage>,
impl<A> MailboxAdminMessageClient for ActorHandle<A>where
A: Handler<MailboxAdminMessage>,
Source§fn update_address<'life0, 'life1, 'async_trait>(
&'life0 self,
caps: &'life1 (impl 'async_trait + CanSend),
proc_id: ProcId,
addr: ChannelAddr,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_address<'life0, 'life1, 'async_trait>(
&'life0 self,
caps: &'life1 (impl 'async_trait + CanSend),
proc_id: ProcId,
addr: ChannelAddr,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Auto Trait Implementations§
impl<A> Freeze for ActorHandle<A>
impl<A> !RefUnwindSafe for ActorHandle<A>
impl<A> Send for ActorHandle<A>
impl<A> Sync for ActorHandle<A>
impl<A> Unpin for ActorHandle<A>
impl<A> !UnwindSafe for ActorHandle<A>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<A, M> Handler<IndexedErasedUnbound<M>> for A
impl<A, M> Handler<IndexedErasedUnbound<M>> for A
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more