Expand description

Asynchronous streams.

This module contains:

  • The Stream trait, for objects that can asynchronously produce a sequence of values.
  • The StreamExt and TryStreamExt trait, which provides adapters for chaining and composing streams.
  • Top-level stream constructors like iter which creates a stream from an iterator.


An unbounded set of futures.

An unbounded set of streams


A handle to an Abortable task.

A registration handle for an Abortable task. Values of this type can be acquired from AbortHandle::new and are used in calls to Abortable::new.

A future/stream which can be remotely short-circuited using an AbortHandle.

Indicator that the Abortable task was aborted.

Stream for the and_then method.

Stream for the buffer_unordered method.

Stream for the buffered method.

Stream for the catch_unwind method.

Stream for the chain method.

Stream for the chunks method.

Future for the collect method.

Future for the concat method.

Stream for the cycle method.

Stream for the empty function.

Stream for the enumerate method.

Stream for the err_into method.

Stream for the filter method.

Stream for the filter_map method.

Stream for the flat_map method.

Stream for the flatten method.

Future for the fold method.

Future for the for_each method.

Future for the for_each_concurrent method.

Future for the forward method.

Stream for the fuse method.

An unbounded queue of futures.

A set of futures which may complete in any order.

Stream for the inspect method.

Stream for the inspect_err method.

Stream for the inspect_ok method.

Reader for the into_async_read method.

Stream for the into_stream method.

Stream for the iter function.

Stream for the map method.

Stream for the map_err method.

Stream for the map_ok method.

Future for the next method.

Future for the Peekable::next_if method.

Future for the Peekable::next_if_eq method.

A stream which emits single element and then EOF.

Stream for the or_else method.

Future for the Peekable::peek method.

Future for the Peekable::peek_mut method.

A Stream that implements a peek method.

Stream for the pending() function.

Stream for the poll_fn function.

Stream for the poll_immediate function.

Stream for the ready_chunks method.

Stream for the repeat function.

An stream that repeats elements of type A endlessly by applying the provided closure F: FnMut() -> A.

Error indicating a SplitSink<S> and SplitStream<S> were not two halves of a Stream + Split, and thus could not be reunited.

Stream for the scan method.

Stream for the select() function.

An unbounded set of streams

Future for the select_next_some method.

Stream for the select_with_strategy() function. See function docs for details.

Stream for the skip method.

Stream for the skip_while method.

A Sink part of the split pair

A Stream part of the split pair

Future for the into_future method.

Stream for the take method.

Stream for the take_until method.

Stream for the take_while method.

Stream for the then method.

Stream for the try_buffered method.

Stream for the try_chunks method.

Error indicating, that while chunk was collected inner stream produced an error.

Future for the try_collect method.

Future for the try_concat method.

Stream for the try_filter method.

Stream for the try_filter_map method.

Stream for the try_flatten method.

Future for the try_fold method.

Future for the try_for_each method.

Future for the try_next method.

Stream for the try_skip_while method.

Stream for the try_take_while method.

Stream for the try_unfold function.

Stream for the unfold function.

Future for the unzip method.

Stream for the zip method.


Type to tell SelectWithStrategy which stream to poll next.


A stream which tracks whether or not the underlying stream should no longer be polled.

A stream of values produced asynchronously.

An extension trait for Streams that provides a variety of convenient combinator functions.

A convenience for streams that return Result values that includes a variety of adapters tailored to such futures.

Adapters specific to Result-returning streams


Creates a new Abortable stream and an AbortHandle which can be used to stop it.

Creates a stream which contains no elements.

Converts an Iterator into a Stream which is always ready to yield the next value.

Creates a stream of a single element.

Creates a stream which never returns any elements.

Creates a new stream wrapping a function returning Poll<Option<T>>.

Creates a new stream that always immediately returns Poll::Ready when awaiting it.

Create a stream which produces the same item repeatedly.

Creates a new stream that repeats elements of type A endlessly by applying the provided closure, the repeater, F: FnMut() -> A.

This function will attempt to pull items from both streams. Each stream will be polled in a round-robin fashion, and whenever a stream is ready to yield an item that item is yielded.

Convert a list of streams into a Stream of results from the streams.

This function will attempt to pull items from both streams. You provide a closure to tell SelectWithStrategy which stream to poll. The closure can store state on SelectWithStrategy to which it will receive a &mut on every invocation. This allows basing the strategy on prior choices.

Creates a TryStream from a seed and a closure returning a TryFuture.

Creates a Stream from a seed and a closure returning a Future.

Type Definitions

An owned dynamically typed Stream for use in cases where you can’t statically type your result or need to add some indirection.

BoxStream, but without the Send requirement.