pub enum ActorRunner {
GlobalRuntime,
DedicatedThread,
}
Expand description
The ActorRunner
defines the environment in which an actor
should be executed.
While all actor’s handlers have a asynchronous trait, some actor can be implemented to do some heavy blocking work and no rely on any asynchronous contructs.
In that case, they should simply rely on the DedicatedThread
runner.
Variants§
GlobalRuntime
Returns the actor as a tokio task running on the global runtime.
This is the most lightweight solution. Actor running on this runtime should not block for more than 50 microsecs.
DedicatedThread
Spawns a dedicated thread, a Tokio runtime, and rely on
tokio::Runtime::block_on
to run the actor loop.
This runner is suitable for actors that are heavily blocking.
Implementations§
Source§impl ActorRunner
impl ActorRunner
pub fn spawn_actor<A: Actor>( &self, actor: A, ctx: ActorContext<A>, inbox: Inbox<A>, ) -> ActorHandle<A>
Trait Implementations§
Source§impl Clone for ActorRunner
impl Clone for ActorRunner
Source§fn clone(&self) -> ActorRunner
fn clone(&self) -> ActorRunner
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for ActorRunner
impl Debug for ActorRunner
impl Copy for ActorRunner
Auto Trait Implementations§
impl Freeze for ActorRunner
impl RefUnwindSafe for ActorRunner
impl Send for ActorRunner
impl Sync for ActorRunner
impl Unpin for ActorRunner
impl UnwindSafe for ActorRunner
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
Mutably borrows from an owned value. Read more