ErasedSubscription

Trait ErasedSubscription 

Source
pub trait ErasedSubscription: Sealed {
    // Required methods
    fn message_broker(&self) -> Option<Arc<dyn MessageBroker>>;
    fn is_registered(&self) -> bool;
    fn is_active(&self) -> bool;
    fn register(
        &mut self,
        msg_broker: Arc<dyn MessageBroker>,
    ) -> Result<(), SubscriptionError>;
    fn unregister(&mut self) -> Result<(), SubscriptionError>;
    fn activate(&self) -> Result<(), SubscriptionError>;
    fn deactivate(&self) -> Result<(), SubscriptionError>;
    fn recv_message(&self) -> Option<Arc<dyn Message>>;
    fn message_iter(&self) -> MessageIter<'_> ;
    fn process_messages<'f>(&self, f: Box<dyn ErasedMessageHandler + 'f>);
}
Expand description

A Subscription with and erased message type.

Required Methods§

Source

fn message_broker(&self) -> Option<Arc<dyn MessageBroker>>

Returns a message broker which sends messages to this subscription.

Source

fn is_registered(&self) -> bool

Returns if the subscription is registered.

Source

fn is_active(&self) -> bool

Returns if the subscription is active.

Source

fn register( &mut self, msg_broker: Arc<dyn MessageBroker>, ) -> Result<(), SubscriptionError>

Registers the subscription in the given message broker.

Source

fn unregister(&mut self) -> Result<(), SubscriptionError>

Unregisters the subscription in the given message broker.

Source

fn activate(&self) -> Result<(), SubscriptionError>

Activates the subscription if it was deactivated before.

Source

fn deactivate(&self) -> Result<(), SubscriptionError>

Dectivates the subscription, in other words temporary makes it stop receiving messages.

Source

fn recv_message(&self) -> Option<Arc<dyn Message>>

Receives one message if there is any.

Source

fn message_iter(&self) -> MessageIter<'_>

Returns an iterator that will attempt to yield all pending messages.

Source

fn process_messages<'f>(&self, f: Box<dyn ErasedMessageHandler + 'f>)

Processes all pending messages by calling the given function on each one.

Implementors§