Addr

Trait Addr 

Source
pub trait Addr: DowncastSync + Sync {
    // Required methods
    fn send<'life0, 'async_trait, M>(
        &'life0 self,
        msg: M,
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
       where Self: Sized + Forwarder<M> + 'async_trait,
             M: 'async_trait + Message,
             'life0: 'async_trait;
    fn send_and_wait<'life0, 'async_trait, M>(
        &'life0 self,
        msg: M,
    ) -> Pin<Box<dyn Future<Output = Result<M::Result, M::Error>> + Send + 'async_trait>>
       where Self: Sized + Forwarder<M> + 'async_trait,
             M: 'async_trait + Message,
             'life0: 'async_trait;
    fn state(&self) -> State;
    fn close(&self);
    fn close_future(&self) -> Notified<'_>;
    fn id(&self) -> ActorId;

    // Provided methods
    fn is_started(&self) -> bool { ... }
    fn is_closed(&self) -> bool { ... }
}
Expand description

A restricted interface of Actor that provides send mechanics and state reads.

Required Methods§

Source

fn send<'life0, 'async_trait, M>( &'life0 self, msg: M, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: Sized + Forwarder<M> + 'async_trait, M: 'async_trait + Message, 'life0: 'async_trait,

Sends a typed message to the actor.

Source

fn send_and_wait<'life0, 'async_trait, M>( &'life0 self, msg: M, ) -> Pin<Box<dyn Future<Output = Result<M::Result, M::Error>> + Send + 'async_trait>>
where Self: Sized + Forwarder<M> + 'async_trait, M: 'async_trait + Message, 'life0: 'async_trait,

Sends a typed message to the actor and awaits the result.

Source

fn state(&self) -> State

Returns the current state of the actor.

§Warning

Beware of potential races, given that the state can be changed after you fetched it.

Source

fn close(&self)

Closes the actor and gives the actor time to process the already-queued up messages.

Source

fn close_future(&self) -> Notified<'_>

Returns this actor’s close future.

Source

fn id(&self) -> ActorId

Returns the id of the actor.

Provided Methods§

Source

fn is_started(&self) -> bool

Checks if the actor has been started.

Source

fn is_closed(&self) -> bool

Checks if the actor is closed.

Implementations§

Source§

impl dyn Addr

Source

pub fn is<__T: Addr>(&self) -> bool

Returns true if the trait object wraps an object of type __T.

Source

pub fn downcast<__T: Addr>(self: Box<Self>) -> Result<Box<__T>, Box<Self>>

Returns a boxed object from a boxed trait object if the underlying object is of type __T. Returns the original boxed trait if it isn’t.

Source

pub fn downcast_rc<__T: Addr>(self: Rc<Self>) -> Result<Rc<__T>, Rc<Self>>

Returns an Rc-ed object from an Rc-ed trait object if the underlying object is of type __T. Returns the original Rc-ed trait if it isn’t.

Source

pub fn downcast_ref<__T: Addr>(&self) -> Option<&__T>

Returns a reference to the object within the trait object if it is of type __T, or None if it isn’t.

Source

pub fn downcast_mut<__T: Addr>(&mut self) -> Option<&mut __T>

Returns a mutable reference to the object within the trait object if it is of type __T, or None if it isn’t.

Source

pub fn downcast_arc<__T: Addr + Any + Send + Sync>( self: Arc<Self>, ) -> Result<Arc<__T>, Arc<Self>>

Returns an Arc-ed object from an Arc-ed trait object if the underlying object is of type __T. Returns the original Arc-ed trait if it isn’t.

Implementors§