Trait vin_core::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::Result: Send,
             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>> + Send + 'async_trait>>
       where Self: Sized + Forwarder<M> + 'async_trait,
             M::Result: Send,
             M: 'async_trait + Message,
             'life0: 'async_trait;
    fn erased_send<'life0, 'async_trait>(
        &'life0 self,
        msg: BoxedMessage<()>
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn state(&self) -> State;
    fn close(&self);
    fn id(&self) -> &str;

    // 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::Result: Send, 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>> + Send + 'async_trait>>where Self: Sized + Forwarder<M> + 'async_trait, M::Result: Send, M: 'async_trait + Message, 'life0: 'async_trait,

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

source

fn erased_send<'life0, 'async_trait>( &'life0 self, msg: BoxedMessage<()> ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Sends an erased message to the actor.

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 id(&self) -> &str

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 being or 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>(self: Arc<Self>) -> Result<Arc<__T>, Arc<Self>>where __T: Any + Send + Sync + Addr,

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§