pub struct Receiver<T: Send + 'static> {
inner: *mut ChannelInner<T>,
}Expand description
Fields§
§inner: *mut ChannelInner<T>Implementations§
Source§impl<T: Send + 'static> Receiver<T>
impl<T: Send + 'static> Receiver<T>
fn inner<'a>(&self) -> &'a ChannelInner<T>
Sourcepub fn has_sender(&self) -> bool
pub fn has_sender(&self) -> bool
Does anyone can send a value through this channel.
Sourcepub fn recv(&self) -> Result<T, RecvError>
pub fn recv(&self) -> Result<T, RecvError>
Attempts to wait for a value on this receiver, returning an error if the corresponding channel has hung up.
This function will always block the current thread if there is no data
available and it’s possible for more data to be sent. Once a message is
sent to the corresponding Sender (or Sender), then this
receiver will wake up and return that message.
If the corresponding Sender has disconnected, or it disconnects
while this call is blocking, this call will wake up and return
Err to indicate that no more messages can ever be received on
this channel. However, since channels are buffered, messages sent
before the disconnect will still be properly received.
Sourcepub fn try_recv(&self) -> Result<T, TryRecvError>
pub fn try_recv(&self) -> Result<T, TryRecvError>
Attempts to return a pending value on this receiver without blocking.
This method will never block the caller in order to wait for data to become available. Instead, this will always return immediately with a possible option of pending data on the channel.
This is useful for a flavor of “optimistic check” before deciding to block on a receiver.
Compared with recv, this function has two failure cases instead of
one (one for disconnection, one for an empty buffer).
Sourcepub fn iter(&self) -> Iter<'_, T> ⓘ
pub fn iter(&self) -> Iter<'_, T> ⓘ
Returns an iterator that will block waiting for messages, but never
panicked. It will return None when the channel has hung up.
Trait Implementations§
impl<T: Send> Send for Receiver<T>
impl<T: Send> Sync for Receiver<T>
Auto Trait Implementations§
impl<T> Freeze for Receiver<T>
impl<T> !RefUnwindSafe for Receiver<T>
impl<T> Unpin for Receiver<T>
impl<T> !UnwindSafe for Receiver<T>
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)