[−]Struct actix_web::actix::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 MyActor1 let addr = MyActor1.start(); // Start MyActor2 let addr = MyActor2.start(); }); }
Methods
impl SystemRegistry
impl SystemRegistry
pub fn get<A>(&self) -> Addr<A> where
A: Actor<Context = Context<A>> + SystemService,
pub fn get<A>(&self) -> Addr<A> where
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,
pub fn query<A>(&self) -> Option<Addr<A>> where
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,
pub fn set<A>(&self, addr: Addr<A>) where
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
impl Debug for SystemRegistry
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl Clone for SystemRegistry
impl Clone for SystemRegistry
fn clone(&self) -> SystemRegistry
fn clone(&self) -> SystemRegistry
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
Auto Trait Implementations
impl Send for SystemRegistry
impl Send for SystemRegistry
impl Sync for SystemRegistry
impl Sync for SystemRegistry
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
type Owned = T
fn to_owned(&self) -> T
[src]
fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
fn clone_into(&self, target: &mut T)
[src]
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
try_from
)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
try_from
)Performs the conversion.
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
fn get_type_id(&self) -> TypeId
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Gets the TypeId
of self
. Read more
impl<T> Erased for T
impl<T> Erased for T