Trait bonsaidb_core::pubsub::PubSub  
source · pub trait PubSub {
    type Subscriber: Subscriber;
    // Required methods
    fn create_subscriber(&self) -> Result<Self::Subscriber, Error>;
    fn publish_bytes(
        &self,
        topic: Vec<u8>,
        payload: Vec<u8>
    ) -> Result<(), Error>;
    fn publish_bytes_to_all(
        &self,
        topics: impl IntoIterator<Item = Vec<u8>> + Send,
        payload: Vec<u8>
    ) -> Result<(), Error>;
    // Provided methods
    fn publish<Topic: Serialize, Payload: Serialize>(
        &self,
        topic: &Topic,
        payload: &Payload
    ) -> Result<(), Error> { ... }
    fn publish_to_all<'topics, Topics: IntoIterator<Item = &'topics Topic> + 'topics, Topic: Serialize + 'topics, Payload: Serialize>(
        &self,
        topics: Topics,
        payload: &Payload
    ) -> Result<(), Error> { ... }
}Expand description
Publishes and Subscribes to messages on topics.
Required Associated Types§
sourcetype Subscriber: Subscriber
 
type Subscriber: Subscriber
The Subscriber type for this PubSub connection.
Required Methods§
sourcefn create_subscriber(&self) -> Result<Self::Subscriber, Error>
 
fn create_subscriber(&self) -> Result<Self::Subscriber, Error>
Create a new Subscriber for this relay.
Provided Methods§
sourcefn publish<Topic: Serialize, Payload: Serialize>(
    &self,
    topic: &Topic,
    payload: &Payload
) -> Result<(), Error>
 
fn publish<Topic: Serialize, Payload: Serialize>( &self, topic: &Topic, payload: &Payload ) -> Result<(), Error>
Publishes a payload to all subscribers of topic.
sourcefn publish_to_all<'topics, Topics: IntoIterator<Item = &'topics Topic> + 'topics, Topic: Serialize + 'topics, Payload: Serialize>(
    &self,
    topics: Topics,
    payload: &Payload
) -> Result<(), Error>
 
fn publish_to_all<'topics, Topics: IntoIterator<Item = &'topics Topic> + 'topics, Topic: Serialize + 'topics, Payload: Serialize>( &self, topics: Topics, payload: &Payload ) -> Result<(), Error>
Publishes a payload to all subscribers of all topics.
Object Safety§
This trait is not object safe.