[−][src]Struct crossbeam_channel::Receiver
The receiving side of a channel.
Examples
use std::thread; use std::time::Duration; use crossbeam_channel::unbounded; let (s, r) = unbounded(); thread::spawn(move || { s.send(1); thread::sleep(Duration::from_secs(1)); s.send(2); }); assert_eq!(r.recv(), Ok(1)); // Received immediately. assert_eq!(r.recv(), Ok(2)); // Received after 1 second.
Methods
impl<T> Receiver<T>
[src][−]
pub fn try_recv(&self) -> Result<T, TryRecvError>
[src][+]
pub fn recv(&self) -> Result<T, RecvError>
[src][+]
pub fn recv_timeout(&self, timeout: Duration) -> Result<T, RecvTimeoutError>
[src][+]
pub fn is_empty(&self) -> bool
[src][+]
pub fn is_full(&self) -> bool
[src][+]
pub fn len(&self) -> usize
[src][+]
pub fn capacity(&self) -> Option<usize>
[src][+]
ⓘImportant traits for Iter<'a, T>pub fn iter(&self) -> Iter<T>
[src][+]
ⓘImportant traits for Iter<'a, T>
ⓘImportant traits for TryIter<'a, T>pub fn try_iter(&self) -> TryIter<T>
[src][+]
ⓘImportant traits for TryIter<'a, T>
Trait Implementations
impl<T: Send> Sync for Receiver<T>
[src]
impl<T> Clone for Receiver<T>
[src][+]
impl<'a, T> IntoIterator for &'a Receiver<T>
[src][+]
impl<T> IntoIterator for Receiver<T>
[src][+]
impl<T: Send> Send for Receiver<T>
[src]
impl<T> Drop for Receiver<T>
[src][+]
impl<T> Debug for Receiver<T>
[src][+]
impl<T> UnwindSafe for Receiver<T>
[src]
impl<T> RefUnwindSafe for Receiver<T>
[src]
Blanket Implementations
impl<T> From for T
[src][+]
impl<I> IntoIterator for I where
I: Iterator,
[src][+]
I: Iterator,
impl<T, U> Into for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
impl<T, U> TryFrom for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T> Borrow for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,