Struct futures::stream::Peekable [] [src]

#[must_use = "streams do nothing unless polled"]
pub struct Peekable<S: Stream> { /* fields omitted */ }

A Stream that implements a peek method.

The peek method can be used to retrieve a reference to the next Stream::Item if available. A subsequent call to poll will return the owned item.

Methods

impl<S: Stream> Peekable<S>
[src]

Peek retrieves a reference to the next item in the stream.

This method polls the underlying stream and return either a reference to the next item if the stream is ready or passes through any errors.

Trait Implementations

impl<S> Sink for Peekable<S> where S: Sink + Stream
[src]

The type of value that the sink accepts.

The type of value produced by the sink when an error occurs.

Begin the process of sending a value to the sink. Read more

Make progress on all pending requests, and determine whether they have completed. Read more

Composes a function in front of the sink. Read more

Adds a fixed-size buffer to the current sink. Read more

A future that completes when the sink has finished processing all pending requests. Read more

A future that completes after the given item has been fully processed into the sink, including flushing. Read more

A future that completes after the given stream has been fully processed into the sink, including flushing. Read more

impl<S: Stream> Stream for Peekable<S>
[src]

The type of item this stream will yield on success.

The type of error this stream may generate.

Attempt to pull out the next value of this stream, returning None if the stream is finished. Read more

Creates an iterator which blocks the current thread until each item of this stream is resolved. Read more

Convenience function for turning this stream into a trait object. Read more

Converts this stream into a Future. Read more

Converts a stream of type T to a stream of type U. Read more

Converts a stream of error type T to a stream of error type U. Read more

Filters the values produced by this stream according to the provided predicate. Read more

Filters the values produced by this stream while simultaneously mapping them to a different type. Read more

Chain on a computation for when a value is ready, passing the resulting item to the provided closure f. Read more

Chain on a computation for when a value is ready, passing the successful results to the provided closure f. Read more

Chain on a computation for when an error happens, passing the erroneous result to the provided closure f. Read more

Collect all of the values of this stream into a vector, returning a future representing the result of that computation. Read more

Execute an accumulating computation over a stream, collecting all the values into one final result. Read more

Flattens a stream of streams into just one continuous stream. Read more

Skip elements on this stream while the predicate provided resolves to true. Read more

Runs this stream to completion, executing the provided closure for each element on the stream. Read more

Creates a new stream of at most amt items of the underlying stream. Read more

Creates a new stream which skips amt items of the underlying stream. Read more

Fuse a stream such that poll will never again be called once it has finished. Read more

Catches unwinding panics while polling the stream. Read more

An adaptor for creating a buffered list of pending futures. Read more

An adaptor for creating a buffered list of pending futures (unordered). Read more

An adapter for merging the output of two streams. Read more

An adapter for zipping two streams together. Read more

Creates a new stream which exposes a peek method. Read more

An adaptor for chunking up items of the stream inside a vector. Read more

Creates a stream that selects the next element from either this stream or the provided one, whichever is ready first. Read more

A future that completes after the given stream has been fully processed into the sink, including flushing. Read more

Splits this Stream + Sink object into separate Stream and Sink objects, which can be useful when you want to split ownership between tasks, or allow direct interaction between the two objects (e.g. via Sink::send_all). Read more