[−][src]Struct actix_web::actix::dev::SystemRegistry
System wide actors registry
System registry serves same purpose as Registry, except it is shared across all arbiters.
Example
use actix::prelude::*; #[derive(Message)] struct Ping; #[derive(Default)] struct MyActor1; impl Actor for MyActor1 { type Context = Context<Self>; } impl actix::Supervised for MyActor1 {} impl SystemService for MyActor1 { fn service_started(&mut self, ctx: &mut Context<Self>) { println!("Service started"); } } impl Handler<Ping> for MyActor1 { type Result = (); fn handle(&mut self, _: Ping, ctx: &mut Context<Self>) { println!("ping"); } } struct MyActor2; impl Actor for MyActor2 { type Context = Context<Self>; fn started(&mut self, _: &mut Context<Self>) { let act = System::current().registry().get::<MyActor1>(); act.do_send(Ping); } } fn main() { // initialize system let code = System::run(|| { // Start MyActor2 let addr = MyActor2.start(); }); }
Methods
impl SystemRegistry
[src]
pub fn get<A>(&self) -> Addr<A> where
A: Actor<Context = Context<A>> + SystemService,
[src]
A: Actor<Context = Context<A>> + SystemService,
Return address of the service. If service actor is not running it get started in the system.
pub fn query<A>(&self) -> Option<Addr<A>> where
A: Actor<Context = Context<A>> + SystemService,
[src]
A: Actor<Context = Context<A>> + SystemService,
Check if actor is in registry, if so, return its address
pub fn set<A>(&self, addr: Addr<A>) where
A: Actor<Context = Context<A>> + SystemService,
[src]
A: Actor<Context = Context<A>> + SystemService,
Add new actor to the registry by address, panic if actor is already running
Trait Implementations
impl Debug for SystemRegistry
[src]
impl Clone for SystemRegistry
[src]
fn clone(&self) -> SystemRegistry
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
Auto Trait Implementations
impl Send for SystemRegistry
impl Sync for SystemRegistry
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.