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 std::time::Duration;
use actix::prelude::*;

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]

[src]

Create new system

Trait Implementations

impl Actor for System
[src]

Actor execution context type

[src]

Method is called when actor get polled first time.

[src]

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

[src]

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

[src]

Start new asynchronous actor, returns address of newly created actor. Read more

[src]

Start new asynchronous actor, returns address of newly created actor.

[src]

Use create method, if you need Context object during actor initialization. Read more

impl Handler<SystemExit> for System
[src]

The type of value that this handle will return

[src]

Method is called for every message received by this Actor