Crate async_channel
source · [−]Expand description
An async multi-producer multi-consumer channel.
There are two kinds of channels:
A channel has the Sender and Receiver side. Both sides are cloneable and can be shared
among multiple threads.
When all Senders or all Receivers are dropped, the channel becomes closed. When a
channel is closed, no more messages can be sent, but remaining messages can still be received.
The channel can also be closed manually by calling Sender::close() or
Receiver::close().
Examples
let (s, r) = async_channel::unbounded();
assert_eq!(s.send("Hello").await, Ok(()));
assert_eq!(r.recv().await, Ok("Hello"));Structs
The receiving side of a channel.
A future returned by Receiver::recv().
An error returned from Receiver::recv().
A future returned by Sender::send().
An error returned from Sender::send().
The sending side of a channel.
Enums
An error returned from Receiver::try_recv().
An error returned from Sender::try_send().