Struct flo_stream::BlockingPublisher[][src]

pub struct BlockingPublisher<Message> { /* fields omitted */ }
Expand description

A blocking publisher is a publisher that blocks messages until it has enough subscribers

This is useful for cases where a publisher is being used asynchronously and wants to ensure that its messages are sent to at least one subscriber. Once the required number of subscribers is reached, this will not block again even if some subscribers are dropped.

Implementations

Creates a new blocking publisher

This publisher will refuse to receive any items until at least required_subscribers are connected. The buffer size indicates the number of queued items permitted per buffer.

Returns a future that will complete when this publisher has enough subscribers

This is useful as a way to avoid blocking with wait_send when setting up the publisher

Trait Implementations

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

Waits until all subscribers have consumed all pending messages

Returns true if this publisher is closed (will not publish any further messages to its subscribers)

Future that returns when this publisher is closed

Creates a subscription to this publisher Read more

Publishes a message to the subscribers of this object Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.