Trait PubSub

Source
pub trait PubSub<T> {
    type Stream: Stream<Item = PublishMsg<T>> + Send;

    // Required method
    fn subscribe(&self, params: Params) -> Result<Self::Stream, Error>;
}
Available on crate feature server only.
Expand description

Implement this trait to define actual pub/sub logic.

§Streams

Stream wrappers from tokio-stream can be used, e.g. BroadcastStream.

Or use the async-stream crate to implement streams with async-await. See the example server.

Required Associated Types§

Source

type Stream: Stream<Item = PublishMsg<T>> + Send

Required Methods§

Source

fn subscribe(&self, params: Params) -> Result<Self::Stream, Error>

Implementations on Foreign Types§

Source§

impl<T, P: PubSub<T>> PubSub<T> for Arc<P>

Source§

type Stream = <P as PubSub<T>>::Stream

Source§

fn subscribe(&self, params: Params) -> Result<Self::Stream, Error>

Implementors§

Source§

impl<T, F, S> PubSub<T> for F
where F: Fn(Params) -> Result<S, Error>, S: Stream<Item = PublishMsg<T>> + Send,