Module mpsc

Source
Expand description

A multi-producer, single-consumer queue for sending values across asynchronous tasks.

Similarly to the std, channel creation provides Receiver and Sender handles. Receiver implements Stream and allows a task to read values out of the channel. If there is no message to read from the channel, the current task will be notified when a new value is sent. Sender allows a task to send messages into the channel. If the channel is at capacity, the send will be rejected.

§Disconnection

When all Sender handles have been dropped, it is no longer possible to send values into the channel. This is considered the termination event of the stream. As such, Receiver::poll_next will return Ok(Ready(None)).

Structs§

Receiver
The receiving end of a bounded mpsc channel.
Sender
The transmission end of a bounded mpsc channel.

Functions§

channel
Creates a bounded mpsc channel for communicating between asynchronous tasks.