diff options
Diffstat (limited to 'tokio/src/sync/mpsc/bounded.rs')
-rw-r--r-- | tokio/src/sync/mpsc/bounded.rs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/tokio/src/sync/mpsc/bounded.rs b/tokio/src/sync/mpsc/bounded.rs index c7ecd9fc..14e4731a 100644 --- a/tokio/src/sync/mpsc/bounded.rs +++ b/tokio/src/sync/mpsc/bounded.rs @@ -49,8 +49,12 @@ impl<T> fmt::Debug for Receiver<T> { } } -/// Creates a bounded mpsc channel for communicating between asynchronous tasks, -/// returning the sender/receiver halves. +/// Creates a bounded mpsc channel for communicating between asynchronous tasks +/// with backpressure. +/// +/// The channel will buffer up to the provided number of messages. Once the +/// buffer is full, attempts to `send` new messages will wait until a message is +/// received from the channel. The provided buffer capacity must be at least 1. /// /// All data sent on `Sender` will become available on `Receiver` in the same /// order as it was sent. @@ -62,6 +66,10 @@ impl<T> fmt::Debug for Receiver<T> { /// will return a `SendError`. Similarly, if `Sender` is disconnected while /// trying to `recv`, the `recv` method will return a `RecvError`. /// +/// # Panics +/// +/// Panics if the buffer capacity is 0. +/// /// # Examples /// /// ```rust |