[][src]Trait xtra_addons::WeakMessageChannel

pub trait WeakMessageChannel<M>: MessageChannel<M> where
    M: Message
{ pub fn upcast(self) -> Box<dyn MessageChannel<M> + 'static, Global>;
pub fn upcast_ref(&self) -> &dyn MessageChannel<M>;
pub fn clone_channel(
        &self
    ) -> Box<dyn WeakMessageChannel<M> + 'static, Global>;
pub fn sink(
        &self
    ) -> Box<dyn WeakMessageSink<M, Error = Disconnected> + 'static, Global>; }

A message channel is a channel through which you can send only one kind of message, but to any actor that can handle it. It is like Address, but associated with the message type rather than the actor type. Any existing WeakMessageChannels will not prevent the dropping of the actor. If this is undesirable, then StrongMessageChannel should be used instead. A WeakMessageChannel trait object is created by calling StrongMessageChannel::downgrade or by casting a WeakAddress.

Required methods

pub fn upcast(self) -> Box<dyn MessageChannel<M> + 'static, Global>[src]

Upcasts this weak message channel into a boxed generic MessageChannel trait object

pub fn upcast_ref(&self) -> &dyn MessageChannel<M>[src]

Upcasts this weak message channel into a reference to the generic MessageChannel trait object

pub fn clone_channel(&self) -> Box<dyn WeakMessageChannel<M> + 'static, Global>[src]

Clones this channel as a boxed trait object.

pub fn sink(
    &self
) -> Box<dyn WeakMessageSink<M, Error = Disconnected> + 'static, Global>
[src]

Use this message channel as a futures Sink and asynchronously send messages through it.

Loading content...

Implementors

impl<A, M> WeakMessageChannel<M> for Address<A, Weak> where
    A: Handler<M>,
    M: Message
[src]

pub fn upcast(self) -> Box<dyn MessageChannel<M> + 'static, Global>[src]

Upcasts this weak message channel into a boxed generic MessageChannel trait object

pub fn upcast_ref(&self) -> &dyn MessageChannel<M>[src]

Upcasts this weak message channel into a reference to the generic MessageChannel trait object

Loading content...