usecrate::*;usestd::sync::Arc;/// A receiver of messages.
////// [`Subscriber`] can receive multiple types of messages by storing multiple [`Subscription`]s.
pubtraitSubscriber{/// Makes the subscriber listen for messages from the given message broker
/// by registering all its [`Subscription`]s (see [`ErasedSubscription::register`]).
fnsubscribe(&mutself, msg_broker:Arc<dyn MessageBroker>);/// Makes the subscriber stop listening for messages from the given message broker
/// by unregistering all its [`Subscription`]s (see [`ErasedSubscription::unregister`]).
fnunsubscribe(&mutself);/// Makes the subscriber listen for messages by activating all its
/// [`Subscription`]s (see [`ErasedSubscription::activate`]) if
/// they were deactivated before.
fnactivate(&self);/// Temporary makes the subscriber not receive any messages
/// by deactivating all its [`Subscription`]s (see [`ErasedSubscription::deactivate`]).
fndeactivate(&self);/// Proccesses all messages received from all [`Subscription`]s of the subscriber.
////// See [`Subscription::process_messages`]
fnprocess_messages(&mutself);}