Trait SubscriptionManager
pub trait SubscriptionManager: Send + Sync {
// Required methods
fn add_subscription(
&mut self,
pattern: TopicPattern,
handler: Arc<dyn MessageHandler>,
) -> Result<(), NerveError>;
fn remove_subscription(
&mut self,
pattern: &TopicPattern,
) -> Result<(), NerveError>;
fn get_handlers(&self, topic: &str) -> Vec<Arc<dyn MessageHandler>>;
fn subscription_count(&self) -> usize;
fn clear_subscriptions(&mut self) -> Result<(), NerveError>;
}Expand description
Subscription manager interface
Required Methods§
fn add_subscription(
&mut self,
pattern: TopicPattern,
handler: Arc<dyn MessageHandler>,
) -> Result<(), NerveError>
fn add_subscription( &mut self, pattern: TopicPattern, handler: Arc<dyn MessageHandler>, ) -> Result<(), NerveError>
Add a subscription
fn remove_subscription(
&mut self,
pattern: &TopicPattern,
) -> Result<(), NerveError>
fn remove_subscription( &mut self, pattern: &TopicPattern, ) -> Result<(), NerveError>
Remove a subscription
fn get_handlers(&self, topic: &str) -> Vec<Arc<dyn MessageHandler>>
fn get_handlers(&self, topic: &str) -> Vec<Arc<dyn MessageHandler>>
Get handlers for a topic
fn subscription_count(&self) -> usize
fn subscription_count(&self) -> usize
Get subscription count
fn clear_subscriptions(&mut self) -> Result<(), NerveError>
fn clear_subscriptions(&mut self) -> Result<(), NerveError>
Clear all subscriptions