[][src]Struct flo_stream::Publisher

pub struct Publisher<Message> { /* fields omitted */ }

A publisher represents a sink that sends messages to zero or more subscribers

Call subscribe() to create subscribers. Any messages sent to this sink will be relayed to all connected subscribers. If the publisher is dropped, any connected subscribers will relay all sent messages and then indicate that they have finished.

Methods

impl<Message: Clone> Publisher<Message>[src]

pub fn new(buffer_size: usize) -> Publisher<Message>[src]

Creates a new publisher with a particular buffer size

pub fn count_subscribers(&self) -> usize[src]

Counts the number of subscribers in this publisher

pub fn republish(&self) -> Self[src]

Creates a duplicate publisher that can be used to publish to the same streams as this object

Trait Implementations

impl<Message> Drop for Publisher<Message>[src]

impl<Message: 'static + Send + Clone> MessagePublisher for Publisher<Message>[src]

type Message = Message

fn subscribe(&mut self) -> Subscriber<Message>[src]

Subscribes to this publisher

Subscribers only receive messages sent to the publisher after they are created.

fn when_ready(&mut self) -> BoxFuture<'static, MessageSender<Message>>[src]

Reserves a space for a message with the subscribers, returning when it's ready

fn when_empty(&mut self) -> BoxFuture<'static, ()>[src]

Waits until all subscribers have consumed all pending messages

Auto Trait Implementations

impl<Message> RefUnwindSafe for Publisher<Message>

impl<Message> Send for Publisher<Message> where
    Message: Send

impl<Message> Sync for Publisher<Message> where
    Message: Send

impl<Message> Unpin for Publisher<Message>

impl<Message> UnwindSafe for Publisher<Message>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.