Struct actix::System [−][src]
pub struct System { /* fields omitted */ }
System is an actor which manages process.
Before starting any actix's actors, System
actor has to be created
with System::new()
call. This method creates new Arbiter
in current
thread and starts System
actor.
Examples
extern crate actix; use actix::prelude::*; use std::time::Duration; struct Timer { dur: Duration, } impl Actor for Timer { type Context = Context<Self>; // stop system after `self.dur` seconds fn started(&mut self, ctx: &mut Context<Self>) { ctx.run_later(self.dur, |act, ctx| { // send `SystemExit` to `System` actor. Arbiter::system().do_send(actix::msgs::SystemExit(0)); }); } } fn main() { // initialize system let sys = System::new("test"); // Start `Timer` actor let _: () = Timer { dur: Duration::new(0, 1), }.start(); // Run system, this function blocks current thread let code = sys.run(); std::process::exit(code); }
Methods
impl System
[src]
impl System
pub fn new<T: Into<String>>(name: T) -> SystemRunner
[src]
pub fn new<T: Into<String>>(name: T) -> SystemRunner
Create new system
Trait Implementations
impl Actor for System
[src]
impl Actor for System
type Context = Context<Self>
Actor execution context type
fn started(&mut self, ctx: &mut Self::Context)
[src]
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
[src]
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)
[src]
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<Addr>(self) -> Addr where
Self: Actor<Context = Context<Self>> + ActorAddress<Self, Addr>,
[src]
fn start<Addr>(self) -> Addr where
Self: Actor<Context = Context<Self>> + ActorAddress<Self, Addr>,
Start new asynchronous actor, returns address of newly created actor. Read more
fn start_default<Addr>() -> Addr where
Self: Default + Actor<Context = Context<Self>> + ActorAddress<Self, Addr>,
[src]
fn start_default<Addr>() -> Addr where
Self: Default + Actor<Context = Context<Self>> + ActorAddress<Self, Addr>,
Start new asynchronous actor, returns address of newly created actor.
fn create<Addr, F>(f: F) -> Addr where
Self: Actor<Context = Context<Self>> + ActorAddress<Self, Addr>,
F: FnOnce(&mut Context<Self>) -> Self + 'static,
[src]
fn create<Addr, F>(f: F) -> Addr where
Self: Actor<Context = Context<Self>> + ActorAddress<Self, Addr>,
F: FnOnce(&mut Context<Self>) -> Self + 'static,
Use create
method, if you need Context
object during actor initialization. Read more
impl Handler<SystemExit> for System
[src]
impl Handler<SystemExit> for System