pub struct ActorRuntime<TActor>where
TActor: Actor,{ /* private fields */ }Expand description
ActorRuntime is a struct which represents the processing actor.
This struct is consumed by the start operation, but results in an
ActorRef to communicate and operate with along with the JoinHandle
representing the actor’s async processing loop.
Implementations§
Source§impl<TActor> ActorRuntime<TActor>where
TActor: Actor,
impl<TActor> ActorRuntime<TActor>where
TActor: Actor,
Sourcepub async fn spawn(
name: Option<String>,
handler: TActor,
startup_args: <TActor as Actor>::Arguments,
) -> Result<(ActorRef<<TActor as Actor>::Msg>, JoinHandle<()>), SpawnErr>
pub async fn spawn( name: Option<String>, handler: TActor, startup_args: <TActor as Actor>::Arguments, ) -> Result<(ActorRef<<TActor as Actor>::Msg>, JoinHandle<()>), SpawnErr>
Spawn an actor, which is unsupervised, automatically starting the actor
name: A name to give the actor. Useful for global referencing or debug printinghandlerThe Actor defining the logic for this actorstartup_args: Arguments passed to thepre_startcall of the Actor to facilitate startup and initial state creation
Returns a [Ok((ActorRef, JoinHandle<()>))] upon successful start, denoting the actor reference along with the join handle which will complete when the actor terminates. Returns [Err(SpawnErr)] if the actor failed to start
Sourcepub async fn spawn_linked(
name: Option<String>,
handler: TActor,
startup_args: <TActor as Actor>::Arguments,
supervisor: ActorCell,
) -> Result<(ActorRef<<TActor as Actor>::Msg>, JoinHandle<()>), SpawnErr>
pub async fn spawn_linked( name: Option<String>, handler: TActor, startup_args: <TActor as Actor>::Arguments, supervisor: ActorCell, ) -> Result<(ActorRef<<TActor as Actor>::Msg>, JoinHandle<()>), SpawnErr>
Spawn an actor with a supervisor, automatically starting the actor
name: A name to give the actor. Useful for global referencing or debug printinghandlerThe Actor defining the logic for this actorstartup_args: Arguments passed to thepre_startcall of the Actor to facilitate startup and initial state creationsupervisor: The ActorCell which is to become the supervisor (parent) of this actor
Returns a [Ok((ActorRef, JoinHandle<()>))] upon successful start, denoting the actor reference along with the join handle which will complete when the actor terminates. Returns [Err(SpawnErr)] if the actor failed to start
Sourcepub fn spawn_instant(
name: Option<String>,
handler: TActor,
startup_args: <TActor as Actor>::Arguments,
) -> Result<(ActorRef<<TActor as Actor>::Msg>, JoinHandle<Result<JoinHandle<()>, SpawnErr>>), SpawnErr>
pub fn spawn_instant( name: Option<String>, handler: TActor, startup_args: <TActor as Actor>::Arguments, ) -> Result<(ActorRef<<TActor as Actor>::Msg>, JoinHandle<Result<JoinHandle<()>, SpawnErr>>), SpawnErr>
Spawn an actor instantly, not waiting on the actor’s pre_start routine. This is helpful
for actors where you want access to the send messages into the actor’s message queue
without waiting on an asynchronous context.
WARNING Failures in the pre_start routine need to be waited on in the join handle since they will NOT fail the spawn operation in this context
name: A name to give the actor. Useful for global referencing or debug printinghandlerThe Actor defining the logic for this actorstartup_args: Arguments passed to thepre_startcall of the Actor to facilitate startup and initial state creation
Returns a [Ok((ActorRef, JoinHandle<Result<JoinHandle<()>, SpawnErr>>))] upon successful creation of the
message queues, so you can begin sending messages. However the associated JoinHandle contains the inner
information around if the actor successfully started or not in it’s pre_start routine. Returns [Err(SpawnErr)] if
the actor name is already allocated
Sourcepub fn spawn_linked_instant(
name: Option<String>,
handler: TActor,
startup_args: <TActor as Actor>::Arguments,
supervisor: ActorCell,
) -> Result<(ActorRef<<TActor as Actor>::Msg>, JoinHandle<Result<JoinHandle<()>, SpawnErr>>), SpawnErr>
pub fn spawn_linked_instant( name: Option<String>, handler: TActor, startup_args: <TActor as Actor>::Arguments, supervisor: ActorCell, ) -> Result<(ActorRef<<TActor as Actor>::Msg>, JoinHandle<Result<JoinHandle<()>, SpawnErr>>), SpawnErr>
Spawn an actor instantly with supervision, not waiting on the actor’s pre_start routine.
This is helpful for actors where you want access to the send messages into the actor’s
message queue without waiting on an asynchronous context.
WARNING Failures in the pre_start routine need to be waited on in the join handle
since they will NOT fail the spawn operation in this context. Additionally the supervision
tree will NOT be linked until the pre_start completes so there is a chance an actor
is lost during pre_start and not successfully started unless it’s specifically handled
by the caller by awaiting later.
name: A name to give the actor. Useful for global referencing or debug printinghandlerThe Actor defining the logic for this actorstartup_args: Arguments passed to thepre_startcall of the Actor to facilitate startup and initial state creationsupervisor: The ActorCell which is to become the supervisor (parent) of this actor
Returns a [Ok((ActorRef, JoinHandle<Result<JoinHandle<()>, SpawnErr>>))] upon successful creation of the
message queues, so you can begin sending messages. However the associated JoinHandle contains the inner
information around if the actor successfully started or not in it’s pre_start routine. Returns [Err(SpawnErr)] if
the actor name is already allocated
Trait Implementations§
Auto Trait Implementations§
impl<TActor> Freeze for ActorRuntime<TActor>where
TActor: Freeze,
impl<TActor> RefUnwindSafe for ActorRuntime<TActor>where
TActor: RefUnwindSafe,
impl<TActor> Send for ActorRuntime<TActor>
impl<TActor> Sync for ActorRuntime<TActor>
impl<TActor> Unpin for ActorRuntime<TActor>where
TActor: Unpin,
impl<TActor> UnwindSafe for ActorRuntime<TActor>where
TActor: UnwindSafe,
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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