Struct futures_channel::mpsc::UnboundedReceiver

source ·
pub struct UnboundedReceiver<T> {
    inner: Option<Arc<UnboundedInner<T>>>,
}
Expand description

The receiving end of an unbounded mpsc channel.

This value is created by the unbounded function.

Fields§

§inner: Option<Arc<UnboundedInner<T>>>

Implementations§

source§

impl<T> UnboundedReceiver<T>

source

pub fn close(&mut self)

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.

source

pub fn try_next(&mut self) -> Result<Option<T>, TryRecvError>

Tries to receive the next message without notifying a context if empty.

It is not recommended to call this function from inside of a future, only when you’ve otherwise arranged to be notified when the channel is no longer empty.

This function returns:

  • Ok(Some(t)) when message is fetched
  • Ok(None) when channel is closed and no messages left in the queue
  • Err(e) when there are no messages available, but channel is not yet closed
source

fn next_message(&mut self) -> Poll<Option<T>>

source

fn dec_num_messages(&self)

Trait Implementations§

source§

impl<T> Debug for UnboundedReceiver<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T> Drop for UnboundedReceiver<T>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<T> FusedStream for UnboundedReceiver<T>

source§

fn is_terminated(&self) -> bool

Returns true if the stream should no longer be polled.
source§

impl<T> Stream for UnboundedReceiver<T>

§

type Item = T

Values yielded by the stream.
source§

fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<T>>

Attempt to pull out the next value of this stream, registering the current task for wakeup if the value is not yet available, and returning None if the stream is exhausted. Read more
source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the stream. Read more
source§

impl<T> Unpin for UnboundedReceiver<T>

Auto Trait Implementations§

§

impl<T> Freeze for UnboundedReceiver<T>

§

impl<T> !RefUnwindSafe for UnboundedReceiver<T>

§

impl<T> Send for UnboundedReceiver<T>
where T: Send,

§

impl<T> Sync for UnboundedReceiver<T>
where T: Send,

§

impl<T> !UnwindSafe for UnboundedReceiver<T>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<S, T, E> TryStream for S
where S: Stream<Item = Result<T, E>> + ?Sized,

§

type Ok = T

The type of successful values yielded by this future
§

type Error = E

The type of failures yielded by this future
source§

fn try_poll_next( self: Pin<&mut S>, cx: &mut Context<'_>, ) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>

Poll this TryStream as if it were a Stream. Read more