pub struct ReceiverStream<T> { /* private fields */ }
Expand description

A wrapper around tokio::sync::mpsc::Receiver that implements Stream.

Implementations§

source§

impl<T> ReceiverStream<T>

source

pub fn new(recv: Receiver<T>) -> Self

Create a new ReceiverStream.

source

pub fn into_inner(self) -> Receiver<T>

Get back the inner Receiver.

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. Any outstanding Permit values will still be able to send messages.

To guarantee no messages are dropped, after calling close(), you must receive all items from the stream until None is returned.

Trait Implementations§

source§

impl<T> AsMut<Receiver<T>> for ReceiverStream<T>

source§

fn as_mut(&mut self) -> &mut Receiver<T>

Converts this type into a mutable reference of the (usually inferred) input type.
source§

impl<T> AsRef<Receiver<T>> for ReceiverStream<T>

source§

fn as_ref(&self) -> &Receiver<T>

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<T: Debug> Debug for ReceiverStream<T>

source§

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

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

impl<T> From<Receiver<T>> for ReceiverStream<T>

source§

fn from(recv: Receiver<T>) -> Self

Converts to this type from the input type.
source§

impl<T> Stream for ReceiverStream<T>

§

type Item = T

Values yielded by the stream.
source§

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

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

Auto Trait Implementations§

§

impl<T> !RefUnwindSafe for ReceiverStream<T>

§

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

§

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

§

impl<T> Unpin for ReceiverStream<T>

§

impl<T> !UnwindSafe for ReceiverStream<T>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

impl<S, T, E> TryStream for Swhere 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