Enum quickwit_actors::ActorRunner
source · [−]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
sourceimpl ActorRunner
impl ActorRunner
pub fn spawn_actor<A: Actor>(
&self,
actor: A,
ctx: ActorContext<A>,
inbox: Inbox<A>
) -> ActorHandle<A>
Trait Implementations
sourceimpl Clone for ActorRunner
impl Clone for ActorRunner
sourcefn clone(&self) -> ActorRunner
fn clone(&self) -> ActorRunner
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for ActorRunner
impl Debug for ActorRunner
impl Copy for ActorRunner
Auto Trait Implementations
impl RefUnwindSafe for ActorRunner
impl Send for ActorRunner
impl Sync for ActorRunner
impl Unpin for ActorRunner
impl UnwindSafe for ActorRunner
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
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
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
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
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more