[−][src]Trait futures_core::stream::Stream
A stream of values produced asynchronously.
If Future<Output = T>
is an asynchronous version of T
, then Stream<Item = T>
is an asynchronous version of Iterator<Item = T>
. A stream
represents a sequence of value-producing events that occur asynchronously to
the caller.
The trait is modeled after Future
, but allows poll_next
to be called
even after a value has been produced, yielding None
once the stream has
been fully exhausted.
Associated Types
Required methods
Implementations on Foreign Types
impl<S: ?Sized + Stream + Unpin, '_> Stream for &'_ mut S
[src][−]
type Item = S::Item
fn poll_next(self: Pin<&mut Self>, cx: &mut Context) -> Poll<Option<Self::Item>>
[src]
impl<P> Stream for Pin<P> where
P: DerefMut + Unpin,
P::Target: Stream,
[src][−]
P: DerefMut + Unpin,
P::Target: Stream,
type Item = <P::Target as Stream>::Item
fn poll_next(self: Pin<&mut Self>, cx: &mut Context) -> Poll<Option<Self::Item>>
[src]
impl<S: ?Sized + Stream + Unpin> Stream for Box<S>
[src][−]
type Item = S::Item
fn poll_next(self: Pin<&mut Self>, cx: &mut Context) -> Poll<Option<Self::Item>>
[src]
impl<S: Stream> Stream for AssertUnwindSafe<S>
[src][−]
type Item = S::Item
fn poll_next(self: Pin<&mut Self>, cx: &mut Context) -> Poll<Option<S::Item>>
[src]
impl<T: Unpin> Stream for VecDeque<T>
[src][−]
type Item = T
fn poll_next(
self: Pin<&mut Self>,
_cx: &mut Context
) -> Poll<Option<Self::Item>>
[src]
self: Pin<&mut Self>,
_cx: &mut Context
) -> Poll<Option<Self::Item>>
Implementors
impl<T> Stream for Receiver<T>
impl<T> Stream for Receiver<T>
impl<T> Stream for UnboundedReceiver<T>
impl<T> Stream for UnboundedReceiver<T>
impl<Fut> Stream for FlattenStream<Fut> where
Fut: Future,
Fut::Output: Stream,
impl<Fut> Stream for FlattenStream<Fut> where
Fut: Future,
Fut::Output: Stream,
impl<Fut: Future> Stream for IntoStream<Fut>
impl<Fut: Future> Stream for IntoStream<Fut>
impl<A, B> Stream for Either<A, B> where
A: Stream,
B: Stream<Item = A::Item>,
impl<A, B> Stream for Either<A, B> where
A: Stream,
B: Stream<Item = A::Item>,
impl<I> Stream for Iter<I> where
I: Iterator,
impl<I> Stream for Iter<I> where
I: Iterator,
impl<T> Stream for Repeat<T> where
T: Clone,
impl<T> Stream for Repeat<T> where
T: Clone,
impl<St1, St2> Stream for Chain<St1, St2> where
St1: Stream,
St2: Stream<Item = St1::Item>,
impl<St1, St2> Stream for Chain<St1, St2> where
St1: Stream,
St2: Stream<Item = St1::Item>,
impl<T> Stream for Empty<T>
impl<T> Stream for Empty<T>
impl<St: Stream> Stream for Enumerate<St>
impl<St: Stream> Stream for Enumerate<St>
impl<St, Fut, F> Stream for Filter<St, Fut, F> where
St: Stream,
F: FnMut(&St::Item) -> Fut,
Fut: Future<Output = bool>,
impl<St, Fut, F> Stream for Filter<St, Fut, F> where
St: Stream,
F: FnMut(&St::Item) -> Fut,
Fut: Future<Output = bool>,
impl<St, Fut, F, T> Stream for FilterMap<St, Fut, F> where
St: Stream,
F: FnMut(St::Item) -> Fut,
Fut: Future<Output = Option<T>>,
impl<St, Fut, F, T> Stream for FilterMap<St, Fut, F> where
St: Stream,
F: FnMut(St::Item) -> Fut,
Fut: Future<Output = Option<T>>,
impl<St> Stream for Flatten<St> where
St: Stream,
St::Item: Stream,
impl<St> Stream for Flatten<St> where
St: Stream,
St::Item: Stream,
impl<S: Stream> Stream for Fuse<S>
impl<S: Stream> Stream for Fuse<S>
impl<St, F> Stream for Inspect<St, F> where
St: Stream,
F: FnMut(&St::Item),
impl<St, F> Stream for Inspect<St, F> where
St: Stream,
F: FnMut(&St::Item),
impl<St, F, T> Stream for Map<St, F> where
St: Stream,
F: FnMut(St::Item) -> T,
impl<St, F, T> Stream for Map<St, F> where
St: Stream,
F: FnMut(St::Item) -> T,
impl<Fut: Future> Stream for Once<Fut>
impl<Fut: Future> Stream for Once<Fut>
impl<S: Stream> Stream for Peekable<S>
impl<S: Stream> Stream for Peekable<S>
impl<T, F> Stream for PollFn<F> where
F: FnMut(&mut Context) -> Poll<Option<T>>,
impl<T, F> Stream for PollFn<F> where
F: FnMut(&mut Context) -> Poll<Option<T>>,
impl<St1, St2> Stream for Select<St1, St2> where
St1: Stream,
St2: Stream<Item = St1::Item>,
impl<St1, St2> Stream for Select<St1, St2> where
St1: Stream,
St2: Stream<Item = St1::Item>,
impl<St: Stream> Stream for Skip<St>
impl<St: Stream> Stream for Skip<St>
impl<St, Fut, F> Stream for SkipWhile<St, Fut, F> where
St: Stream,
F: FnMut(&St::Item) -> Fut,
Fut: Future<Output = bool>,
impl<St, Fut, F> Stream for SkipWhile<St, Fut, F> where
St: Stream,
F: FnMut(&St::Item) -> Fut,
Fut: Future<Output = bool>,
impl<St> Stream for Take<St> where
St: Stream,
impl<St> Stream for Take<St> where
St: Stream,
impl<St, Fut, F> Stream for TakeWhile<St, Fut, F> where
St: Stream,
F: FnMut(&St::Item) -> Fut,
Fut: Future<Output = bool>,
impl<St, Fut, F> Stream for TakeWhile<St, Fut, F> where
St: Stream,
F: FnMut(&St::Item) -> Fut,
Fut: Future<Output = bool>,
impl<St, Fut, F> Stream for Then<St, Fut, F> where
St: Stream,
F: FnMut(St::Item) -> Fut,
Fut: Future,
impl<St, Fut, F> Stream for Then<St, Fut, F> where
St: Stream,
F: FnMut(St::Item) -> Fut,
Fut: Future,
impl<T, F, Fut, It> Stream for Unfold<T, F, Fut> where
F: FnMut(T) -> Fut,
Fut: Future<Output = Option<(It, T)>>,
impl<T, F, Fut, It> Stream for Unfold<T, F, Fut> where
F: FnMut(T) -> Fut,
Fut: Future<Output = Option<(It, T)>>,
impl<St1, St2> Stream for Zip<St1, St2> where
St1: Stream,
St2: Stream,
impl<St1, St2> Stream for Zip<St1, St2> where
St1: Stream,
St2: Stream,
impl<St: Stream> Stream for Chunks<St>
impl<St: Stream> Stream for Chunks<St>
impl<St> Stream for BufferUnordered<St> where
St: Stream,
St::Item: Future,
impl<St> Stream for BufferUnordered<St> where
St: Stream,
St::Item: Future,
impl<St> Stream for Buffered<St> where
St: Stream,
St::Item: Future,
impl<St> Stream for Buffered<St> where
St: Stream,
St::Item: Future,
impl<Fut: Future> Stream for FuturesOrdered<Fut>
impl<Fut: Future> Stream for FuturesOrdered<Fut>
impl<Fut: Future> Stream for FuturesUnordered<Fut>
impl<Fut: Future> Stream for FuturesUnordered<Fut>
impl<S: Stream> Stream for SplitStream<S>
impl<S: Stream> Stream for SplitStream<S>
impl<St: Stream + Unpin> Stream for SelectAll<St>
impl<St: Stream + Unpin> Stream for SelectAll<St>
impl<St: Stream + UnwindSafe> Stream for CatchUnwind<St>
impl<St: Stream + UnwindSafe> Stream for CatchUnwind<St>
impl<St, Fut, F> Stream for AndThen<St, Fut, F> where
St: TryStream,
F: FnMut(St::Ok) -> Fut,
Fut: TryFuture<Error = St::Error>,
impl<St, Fut, F> Stream for AndThen<St, Fut, F> where
St: TryStream,
F: FnMut(St::Ok) -> Fut,
Fut: TryFuture<Error = St::Error>,
impl<St, E> Stream for ErrInto<St, E> where
St: TryStream,
St::Error: Into<E>,
impl<St, E> Stream for ErrInto<St, E> where
St: TryStream,
St::Error: Into<E>,
impl<St: TryStream> Stream for IntoStream<St>
impl<St: TryStream> Stream for IntoStream<St>
impl<St, F, T> Stream for MapOk<St, F> where
St: TryStream,
F: FnMut(St::Ok) -> T,
impl<St, F, T> Stream for MapOk<St, F> where
St: TryStream,
F: FnMut(St::Ok) -> T,
impl<St, F, E> Stream for MapErr<St, F> where
St: TryStream,
F: FnMut(St::Error) -> E,
impl<St, F, E> Stream for MapErr<St, F> where
St: TryStream,
F: FnMut(St::Error) -> E,
impl<St, Fut, F> Stream for OrElse<St, Fut, F> where
St: TryStream,
F: FnMut(St::Error) -> Fut,
Fut: TryFuture<Ok = St::Ok>,
impl<St, Fut, F> Stream for OrElse<St, Fut, F> where
St: TryStream,
F: FnMut(St::Error) -> Fut,
Fut: TryFuture<Ok = St::Ok>,
impl<St, Fut, F, T> Stream for TryFilterMap<St, Fut, F> where
St: TryStream,
Fut: TryFuture<Ok = Option<T>, Error = St::Error>,
F: FnMut(St::Ok) -> Fut,
impl<St, Fut, F, T> Stream for TryFilterMap<St, Fut, F> where
St: TryStream,
Fut: TryFuture<Ok = Option<T>, Error = St::Error>,
F: FnMut(St::Ok) -> Fut,
impl<St, Fut, F> Stream for TrySkipWhile<St, Fut, F> where
St: TryStream,
F: FnMut(&St::Ok) -> Fut,
Fut: TryFuture<Ok = bool, Error = St::Error>,
impl<St, Fut, F> Stream for TrySkipWhile<St, Fut, F> where
St: TryStream,
F: FnMut(&St::Ok) -> Fut,
Fut: TryFuture<Ok = bool, Error = St::Error>,
impl<St> Stream for TryBufferUnordered<St> where
St: TryStream,
St::Ok: TryFuture<Error = St::Error>,
impl<St> Stream for TryBufferUnordered<St> where
St: TryStream,
St::Ok: TryFuture<Error = St::Error>,
impl<S, Item, E> Stream for SinkErrInto<S, Item, E> where
S: Sink<Item> + Stream,
S::SinkError: Into<E>,
impl<S, Item, E> Stream for SinkErrInto<S, Item, E> where
S: Sink<Item> + Stream,
S::SinkError: Into<E>,
impl<S: Stream, F> Stream for SinkMapErr<S, F>
impl<S: Stream, F> Stream for SinkMapErr<S, F>
impl<S, Item, U, Fut, F> Stream for With<S, Item, U, Fut, F> where
S: Stream + Sink<Item>,
F: FnMut(U) -> Fut,
Fut: Future,
impl<S, Item, U, Fut, F> Stream for With<S, Item, U, Fut, F> where
S: Stream + Sink<Item>,
F: FnMut(U) -> Fut,
Fut: Future,
impl<S, Item, U, St, F> Stream for WithFlatMap<S, Item, U, St, F> where
S: Stream + Sink<Item>,
F: FnMut(U) -> St,
St: Stream<Item = Result<Item, S::SinkError>>,
impl<S, Item, U, St, F> Stream for WithFlatMap<S, Item, U, St, F> where
S: Stream + Sink<Item>,
F: FnMut(U) -> St,
St: Stream<Item = Result<Item, S::SinkError>>,
impl<S, Item> Stream for Buffer<S, Item> where
S: Sink<Item> + Stream,
impl<S, Item> Stream for Buffer<S, Item> where
S: Sink<Item> + Stream,
impl<St: Stream01> Stream for Compat01As03<St>
impl<St: Stream01> Stream for Compat01As03<St>
impl<S, SinkItem> Stream for Compat01As03Sink<S, SinkItem> where
S: Stream01,
impl<S, SinkItem> Stream for Compat01As03Sink<S, SinkItem> where
S: Stream01,