Struct UnboundedReceiver

Source
pub struct UnboundedReceiver<T>(/* private fields */);
Expand description

An unbounded receiver, created with unbounded

Implementations§

Source§

impl<T> UnboundedReceiver<T>

Source

pub async fn recv(&self) -> Result<T, UnboundedRecvError>

Receive a value from the receiver half of this channel.

Will block until a value is received

§Errors

Will produce an error if all senders are dropped

Source

pub fn into_stream(self) -> UnboundedStream<T>

Turn this receiver into a stream.

Source

pub fn try_recv(&self) -> Result<T, UnboundedTryRecvError>

Try to receive a value from the receiver.

§Errors

Will return an error if no value is currently queued. This function will not block.

Source

pub async fn drain_at_least_one(&self) -> Result<Vec<T>, UnboundedRecvError>

Asynchronously wait for at least 1 value to show up, then will greedily try to receive values until this receiver would block. The resulting values are returned.

It is guaranteed that the returning vec contains at least 1 value

§Errors

Will return an error if there was an error retrieving the first value.

Source

pub fn drain(&self) -> Result<Vec<T>, UnboundedRecvError>

Drains the receiver from all messages in the queue, but will not poll for more messages

§Errors

Will return an error if all the senders get dropped before this ends.

Source

pub fn len(&self) -> Option<usize>

Attempt to load the length of the messages in queue.

On some implementations this value does not exist, and this will return None.

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

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> Unpin for UnboundedReceiver<T>

§

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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>,

Source§

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>,

Source§

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<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more