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>

Add a subscription

fn remove_subscription( &mut self, pattern: &TopicPattern, ) -> Result<(), NerveError>

Remove a subscription

fn get_handlers(&self, topic: &str) -> Vec<Arc<dyn MessageHandler>>

Get handlers for a topic

fn subscription_count(&self) -> usize

Get subscription count

fn clear_subscriptions(&mut self) -> Result<(), NerveError>

Clear all subscriptions

Implementations on Foreign Types§

§

impl SubscriptionManager for SimplePubSub

§

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>

Implementors§