# Module futures::stream [−] [src]

Asynchronous streams

This module contains the `Stream` trait and a number of adaptors for this trait. This trait is very similar to the `Iterator` trait in the standard library except that it expresses the concept of blocking as well. A stream here is a sequential sequence of values which may take some amount of time in between to produce.

A stream may request that it is blocked between values while the next value is calculated, and provides a way to get notified once the next value is ready as well.

You can find more information/tutorials about streams online at https://tokio.rs

## Re-exports

`pub use self::futures_unordered::FuturesUnordered;`

## Modules

futures_unordered | An unbounded set of futures.

## Structs

AndThen | A stream combinator which chains a computation onto values produced by a stream.
BufferUnordered | An adaptor for a stream of futures to execute the futures concurrently, if possible, delivering results as they become available.
Buffered | An adaptor for a stream of futures to execute the futures concurrently, if possible.
CatchUnwind | Stream for the `catch_unwind` combinator.
Chain | An adapter for chaining the output of two streams.
Chunks | An adaptor that chunks up elements in a vector.
Collect | A future which collects all of the values of a stream into a vector.
Concat | [ Deprecated ] A stream combinator to concatenate the results of a stream into the first yielded item.
Concat2 | A stream combinator to concatenate the results of a stream into the first yielded item.
Empty | A stream which contains no elements.
Filter | A stream combinator used to filter the results of a stream and only yield some values.
FilterMap | A combinator used to filter the results of a stream and simultaneously map them to a different type.
Flatten | A combinator used to flatten a stream-of-streams into one long stream of elements.
Fold | A future used to collect all the results of a stream into one generic type.
ForEach | A stream combinator which executes a unit closure over each item on a stream.
Forward | Future for the `Stream::forward` combinator, which sends a stream of values to a sink and then waits until the sink has fully flushed those values.
FromErr | A stream combinator to change the error type of a stream.
Fuse | A stream which "fuse"s a stream once it's terminated.
FuturesOrdered | An unbounded queue of futures.
Inspect | Do something with the items of a stream, passing it on.
InspectErr | Do something with the error of a stream, passing it on.
Iter | [ Deprecated ] A stream which is just a shim over an underlying instance of `Iterator`.
IterOk | A stream which is just a shim over an underlying instance of `Iterator`.
IterResult | A stream which is just a shim over an underlying instance of `Iterator`.
IterStream | [ Deprecated ] A stream which is just a shim over an underlying instance of `Iterator`.
Map | A stream combinator which will change the type of a stream from one type to another.
MapErr | A stream combinator which will change the error type of a stream from one type to another.
Merge | [ Deprecated ] An adapter for merging the output of two streams.
Once | A stream which emits single element and then EOF.
OrElse | A stream combinator which chains a computation onto errors produced by a stream.
Peekable | A `Stream` that implements a `peek` method.
PollFn | A stream which adapts a function returning `Poll`.
Repeat | Stream that produces the same element repeatedly.
ReuniteError | Error indicating a `SplitSink<S>` and `SplitStream<S>` were not two halves of a `Stream + Split`, and thus could not be `reunite`d.
Select | An adapter for merging the output of two streams.
Skip | A stream combinator which skips a number of elements before continuing.
SkipWhile | A stream combinator which skips elements of a stream while a predicate holds.
SplitSink | A `Sink` part of the split pair
SplitStream | A `Stream` part of the split pair
StreamFuture | A combinator used to temporarily convert a stream into a future.
Take | A stream combinator which returns a maximum number of elements.
TakeWhile | A stream combinator which takes elements from a stream while a predicate holds.
Then | A stream combinator which chains a computation onto each item produced by a stream.
Unfold | A stream which creates futures, polls them and return their result
Wait | A stream combinator which converts an asynchronous stream to a blocking iterator.
Zip | An adapter for merging the output of two streams.

## Enums

MergedItem | [ Deprecated ] An item returned from a merge stream, which represents an item from one or both of the underlying streams.

## Traits

Stream | A stream of values, not all of which may have been produced yet.

## Functions

empty | Creates a stream which contains no elements.
futures_ordered | Converts a list of futures into a `Stream` of results from the futures.
futures_unordered | Converts a list of futures into a `Stream` of results from the futures.
iter | [ Deprecated ] Converts an `Iterator` over `Result`s into a `Stream` which is always ready to yield the next value.
iter_ok | Converts an `Iterator` into a `Stream` which is always ready to yield the next value.
iter_result | Converts an `Iterator` over `Result`s into a `Stream` which is always ready to yield the next value.
once | Creates a stream of single element
poll_fn | Creates a new stream wrapping around a function returning `Poll`.
repeat | Create a stream which produces the same item repeatedly.
unfold | Creates a `Stream` from a seed and a closure returning a `Future`.

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)