Name Description Size Coverage
lib.rs An async multi-producer multi-consumer channel, where each message can be received by only one of all existing consumers. There are two kinds of channels: 1. [Bounded][`bounded()`] channel with limited capacity. 2. [Unbounded][`unbounded()`] channel with unlimited capacity. A channel has the [`Sender`] and [`Receiver`] side. Both sides are cloneable and can be shared among multiple threads. When all [`Sender`]s or all [`Receiver`]s 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 ``` # futures_lite::future::block_on(async { let (s, r) = async_channel::unbounded(); assert_eq!(s.send("Hello").await, Ok(())); assert_eq!(r.recv().await, Ok("Hello")); # }); ``` 39842 -