[−][src]Struct tokio_sync::mpsc::UnboundedReceiver
Receive values from the associated UnboundedSender
.
Instances are created by the
unbounded_channel
function.
Methods
impl<T> UnboundedReceiver<T>
[src]
pub async fn recv<'_>(&'_ mut self) -> Option<T>
[src]
Receive the next value for this receiver.
None
is returned when all Sender
halves have dropped, indicating
that no further values can be sent on the channel.
Examples
#![feature(async_await)] use tokio::sync::mpsc; #[tokio::main] async fn main() { let (mut tx, mut rx) = mpsc::unbounded_channel(); tokio::spawn(async move { tx.try_send("hello").unwrap(); }); assert_eq!(Some("hello"), rx.recv().await); assert_eq!(None, rx.recv().await); }
Values are buffered:
#![feature(async_await)] use tokio::sync::mpsc; #[tokio::main] async fn main() { let (mut tx, mut rx) = mpsc::unbounded_channel(); tx.try_send("hello").unwrap(); tx.try_send("world").unwrap(); assert_eq!(Some("hello"), rx.recv().await); assert_eq!(Some("world"), rx.recv().await); }
pub fn close(&mut self)
[src]
Closes the receiving half of a channel, without dropping it.
This prevents any further messages from being sent on the channel while still enabling the receiver to drain messages that are buffered.
Trait Implementations
Auto Trait Implementations
impl<T> Unpin for UnboundedReceiver<T>
impl<T> Send for UnboundedReceiver<T> where
T: Send,
T: Send,
impl<T> Sync for UnboundedReceiver<T> where
T: Send,
T: Send,
impl<T> !RefUnwindSafe for UnboundedReceiver<T>
impl<T> !UnwindSafe for UnboundedReceiver<T>
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,