Struct tokio_stream::wrappers::ReceiverStream
source · pub struct ReceiverStream<T> {
inner: Receiver<T>,
}
Expand description
A wrapper around tokio::sync::mpsc::Receiver
that implements Stream
.
Fields§
§inner: Receiver<T>
Implementations§
source§impl<T> ReceiverStream<T>
impl<T> ReceiverStream<T>
sourcepub fn into_inner(self) -> Receiver<T>
pub fn into_inner(self) -> Receiver<T>
Get back the inner Receiver
.
sourcepub fn close(&mut self)
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>
impl<T> AsMut<Receiver<T>> for ReceiverStream<T>
source§impl<T> AsRef<Receiver<T>> for ReceiverStream<T>
impl<T> AsRef<Receiver<T>> for ReceiverStream<T>
source§impl<T: Debug> Debug for ReceiverStream<T>
impl<T: Debug> Debug for ReceiverStream<T>
source§impl<T> From<Receiver<T>> for ReceiverStream<T>
impl<T> From<Receiver<T>> for ReceiverStream<T>
source§impl<T> Stream for ReceiverStream<T>
impl<T> Stream for ReceiverStream<T>
Auto Trait Implementations§
impl<T> Freeze for ReceiverStream<T>
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<St> StreamExt for St
impl<St> StreamExt for St
source§fn next(&mut self) -> Next<'_, Self> ⓘwhere
Self: Unpin,
fn next(&mut self) -> Next<'_, Self> ⓘwhere
Self: Unpin,
Consumes and returns the next value in the stream or
None
if the
stream is finished. Read moresource§fn try_next<T, E>(&mut self) -> TryNext<'_, Self> ⓘ
fn try_next<T, E>(&mut self) -> TryNext<'_, Self> ⓘ
Consumes and returns the next item in the stream. If an error is
encountered before the next item, the error is returned instead. Read more
source§fn map<T, F>(self, f: F) -> Map<Self, F>
fn map<T, F>(self, f: F) -> Map<Self, F>
Maps this stream’s items to a different type, returning a new stream of
the resulting type. Read more
source§fn map_while<T, F>(self, f: F) -> MapWhile<Self, F>
fn map_while<T, F>(self, f: F) -> MapWhile<Self, F>
Map this stream’s items to a different type for as long as determined by
the provided closure. A stream of the target type will be returned,
which will yield elements until the closure returns
None
. Read moresource§fn then<F, Fut>(self, f: F) -> Then<Self, Fut, F>
fn then<F, Fut>(self, f: F) -> Then<Self, Fut, F>
Maps this stream’s items asynchronously to a different type, returning a
new stream of the resulting type. Read more
source§fn merge<U>(self, other: U) -> Merge<Self, U>
fn merge<U>(self, other: U) -> Merge<Self, U>
Combine two streams into one by interleaving the output of both as it
is produced. Read more
source§fn filter<F>(self, f: F) -> Filter<Self, F>
fn filter<F>(self, f: F) -> Filter<Self, F>
Filters the values produced by this stream according to the provided
predicate. Read more
source§fn filter_map<T, F>(self, f: F) -> FilterMap<Self, F>
fn filter_map<T, F>(self, f: F) -> FilterMap<Self, F>
Filters the values produced by this stream while simultaneously mapping
them to a different type according to the provided closure. Read more
source§fn fuse(self) -> Fuse<Self>where
Self: Sized,
fn fuse(self) -> Fuse<Self>where
Self: Sized,
Creates a stream which ends after the first
None
. Read moresource§fn take(self, n: usize) -> Take<Self>where
Self: Sized,
fn take(self, n: usize) -> Take<Self>where
Self: Sized,
Creates a new stream of at most
n
items of the underlying stream. Read moresource§fn take_while<F>(self, f: F) -> TakeWhile<Self, F>
fn take_while<F>(self, f: F) -> TakeWhile<Self, F>
Take elements from this stream while the provided predicate
resolves to
true
. Read moresource§fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
Creates a new stream that will skip the
n
first items of the
underlying stream. Read moresource§fn skip_while<F>(self, f: F) -> SkipWhile<Self, F>
fn skip_while<F>(self, f: F) -> SkipWhile<Self, F>
Skip elements from the underlying stream while the provided predicate
resolves to
true
. Read moresource§fn all<F>(&mut self, f: F) -> AllFuture<'_, Self, F> ⓘ
fn all<F>(&mut self, f: F) -> AllFuture<'_, Self, F> ⓘ
Tests if every element of the stream matches a predicate. Read more
source§fn any<F>(&mut self, f: F) -> AnyFuture<'_, Self, F> ⓘ
fn any<F>(&mut self, f: F) -> AnyFuture<'_, Self, F> ⓘ
Tests if any element of the stream matches a predicate. Read more
source§fn chain<U>(self, other: U) -> Chain<Self, U>
fn chain<U>(self, other: U) -> Chain<Self, U>
Combine two streams into one by first returning all values from the
first stream then all values from the second stream. Read more
source§fn fold<B, F>(self, init: B, f: F) -> FoldFuture<Self, B, F> ⓘ
fn fold<B, F>(self, init: B, f: F) -> FoldFuture<Self, B, F> ⓘ
A combinator that applies a function to every element in a stream
producing a single, final value. Read more
source§fn collect<T>(self) -> Collect<Self, T> ⓘ
fn collect<T>(self) -> Collect<Self, T> ⓘ
Drain stream pushing all emitted values into a collection. Read more
source§fn timeout(self, duration: Duration) -> Timeout<Self>where
Self: Sized,
fn timeout(self, duration: Duration) -> Timeout<Self>where
Self: Sized,
Applies a per-item timeout to the passed stream. Read more
source§fn timeout_repeating(self, interval: Interval) -> TimeoutRepeating<Self>where
Self: Sized,
fn timeout_repeating(self, interval: Interval) -> TimeoutRepeating<Self>where
Self: Sized,
Applies a per-item timeout to the passed stream. Read more
source§fn throttle(self, duration: Duration) -> Throttle<Self>where
Self: Sized,
fn throttle(self, duration: Duration) -> Throttle<Self>where
Self: Sized,
Slows down a stream by enforcing a delay between items. Read more
source§fn chunks_timeout(
self,
max_size: usize,
duration: Duration,
) -> ChunksTimeout<Self>where
Self: Sized,
fn chunks_timeout(
self,
max_size: usize,
duration: Duration,
) -> ChunksTimeout<Self>where
Self: Sized,
Batches the items in the given stream using a maximum duration and size for each batch. Read more