Struct actix_web::actix::actix::Arbiter [−]
pub struct Arbiter { /* fields omitted */ }
Event loop controller
Arbiter controls event loop in it's thread. Each arbiter runs in separate
thread. Arbiter provides several api for event loop access. Each arbiter
can belongs to specific System
actor.
By default, a panic in an Arbiter does not stop the rest of the System,
unless the panic is in the System actor. Users of Arbiter can opt into
shutting down the system on panic by using Arbiter::builder()
and enabling
stop_system_on_panic
.
Methods
impl Arbiter
impl Arbiter
pub fn builder() -> Builder
pub fn builder() -> Builder
Spawn new thread and run event loop in spawned thread. Returns address of newly created arbiter. Does not stop the system on panic.
pub fn new<T>(name: T) -> Addr<Arbiter> where
T: Into<String>,
pub fn new<T>(name: T) -> Addr<Arbiter> where
T: Into<String>,
Spawn new thread and run event loop in spawned thread. Returns address of newly created arbiter. Does not stop the system on panic.
pub fn name() -> String
pub fn name() -> String
Returns current arbiter's name
pub fn current() -> Addr<Arbiter>
pub fn current() -> Addr<Arbiter>
Returns current arbiter's address
pub fn registry() -> Registry
pub fn registry() -> Registry
This function returns arbiter's registry,
pub fn spawn<F>(future: F) where
F: Future<Item = (), Error = ()> + 'static,
pub fn spawn<F>(future: F) where
F: Future<Item = (), Error = ()> + 'static,
Executes a future on the current thread.
pub fn spawn_fn<F, R>(f: F) where
F: FnOnce() -> R + 'static,
R: IntoFuture<Item = (), Error = ()> + 'static,
pub fn spawn_fn<F, R>(f: F) where
F: FnOnce() -> R + 'static,
R: IntoFuture<Item = (), Error = ()> + 'static,
Executes a future on the current thread.
pub fn start<A, F>(f: F) -> Addr<A> where
A: Actor<Context = Context<A>>,
F: FnOnce(&mut <A as Actor>::Context) -> A + Send + 'static,
pub fn start<A, F>(f: F) -> Addr<A> where
A: Actor<Context = Context<A>>,
F: FnOnce(&mut <A as Actor>::Context) -> A + Send + 'static,
Start new arbiter and then start actor in created arbiter.
Returns Addr<Syn, A>
of created actor.
Trait Implementations
impl<I, E> Handler<Execute<I, E>> for Arbiter where
E: Send,
I: Send,
impl<I, E> Handler<Execute<I, E>> for Arbiter where
E: Send,
I: Send,
type Result = Result<I, E>
The type of value that this handle will return
fn handle(&mut self, msg: Execute<I, E>, &mut Context<Arbiter>) -> Result<I, E>
fn handle(&mut self, msg: Execute<I, E>, &mut Context<Arbiter>) -> Result<I, E>
Method is called for every message received by this Actor
impl Handler<StopArbiter> for Arbiter
impl Handler<StopArbiter> for Arbiter
type Result = ()
The type of value that this handle will return
fn handle(&mut self, msg: StopArbiter, &mut Context<Arbiter>)
fn handle(&mut self, msg: StopArbiter, &mut Context<Arbiter>)
Method is called for every message received by this Actor
impl<A> Handler<StartActor<A>> for Arbiter where
A: Actor<Context = Context<A>>,
impl<A> Handler<StartActor<A>> for Arbiter where
A: Actor<Context = Context<A>>,
type Result = Addr<A>
The type of value that this handle will return
fn handle(&mut self, msg: StartActor<A>, &mut Context<Arbiter>) -> Addr<A>
fn handle(&mut self, msg: StartActor<A>, &mut Context<Arbiter>) -> Addr<A>
Method is called for every message received by this Actor
impl Drop for Arbiter
impl Drop for Arbiter
impl Actor for Arbiter
impl Actor for Arbiter
type Context = Context<Arbiter>
Actor execution context type
fn started(&mut self, ctx: &mut Self::Context)
fn started(&mut self, ctx: &mut Self::Context)
Method is called when actor get polled first time.
fn stopping(&mut self, ctx: &mut Self::Context) -> Running
fn stopping(&mut self, ctx: &mut Self::Context) -> Running
Method is called after an actor is in Actor::Stopping
state. There could be several reasons for stopping. Context::stop
get called by the actor itself. All addresses to current actor get dropped and no more evented objects left in the context. Read more
fn stopped(&mut self, ctx: &mut Self::Context)
fn stopped(&mut self, ctx: &mut Self::Context)
Method is called after an actor is stopped, it can be used to perform any needed cleanup work or spawning more actors. This is final state, after this call actor get dropped. Read more
fn start(self) -> Addr<Self> where
Self: Actor<Context = Context<Self>>,
fn start(self) -> Addr<Self> where
Self: Actor<Context = Context<Self>>,
Start new asynchronous actor, returns address of newly created actor. Read more
fn start_default() -> Addr<Self> where
Self: Actor<Context = Context<Self>> + Default,
fn start_default() -> Addr<Self> where
Self: Actor<Context = Context<Self>> + Default,
Start new asynchronous actor, returns address of newly created actor.
fn create<F>(f: F) -> Addr<Self> where
F: FnOnce(&mut Context<Self>) -> Self + 'static,
Self: Actor<Context = Context<Self>>,
fn create<F>(f: F) -> Addr<Self> where
F: FnOnce(&mut Context<Self>) -> Self + 'static,
Self: Actor<Context = Context<Self>>,
Use create
method, if you need Context
object during actor initialization. Read more