[−][src]Crate async_channel
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
| Receiver | The receiving side of a channel. |
| RecvError | An error returned from |
| SendError | An error returned from |
| Sender | The sending side of a channel. |
Enums
| TryRecvError | An error returned from |
| TrySendError | An error returned from |
Functions
| bounded | Creates a bounded channel. |
| unbounded | Creates an unbounded channel. |