Struct futures::stream::Fuse [] [src]

#[must_use = "streams do nothing unless polled"]
pub struct Fuse<S> {
    // some fields omitted
}

A stream which "fuse"s a stream once it's terminated.

Normally streams can behave unpredictably after they've terminated or returned an error, but Fuse is always defined to return None from poll after terination/errors, and afterwards all calls to schedule will be ignored.

Methods

impl<S> Fuse<S>
[src]

fn is_done(&self) -> bool

Returns whether the underlying stream has finished or not.

If this method returns true, then all future calls to poll are guaranteed to return NotReady. If this returns false, then the underlying stream is still in use.

Trait Implementations

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

type Item = S::Item

The type of item this stream will yield on success.

type Error = S::Error

The type of error this stream may generate.

fn poll(&mut self) -> Poll<Option<S::Item>, S::Error>

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

fn wait(self) -> Wait<Self> where Self: Sized

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

fn boxed(self) -> BoxStream<Self::Item, Self::Error> where Self: Sized + Send + 'static

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

fn into_future(self) -> StreamFuture<Self> where Self: Sized

Converts this stream into a Future. Read more

fn map<U, F>(self, f: F) -> Map<Self, F> where F: FnMut(Self::Item) -> U, Self: Sized

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

fn map_err<U, F>(self, f: F) -> MapErr<Self, F> where F: FnMut(Self::Error) -> U, Self: Sized

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

fn filter<F>(self, f: F) -> Filter<Self, F> where F: FnMut(&Self::Item) -> bool, Self: Sized

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

fn filter_map<F, B>(self, f: F) -> FilterMap<Self, F> where F: FnMut(Self::Item) -> Option<B>, Self: Sized

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

fn then<F, U>(self, f: F) -> Then<Self, F, U> where F: FnMut(Result<Self::Item, Self::Error>) -> U, U: IntoFuture, Self: Sized

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

fn and_then<F, U>(self, f: F) -> AndThen<Self, F, U> where F: FnMut(Self::Item) -> U, U: IntoFuture<Error=Self::Error>, Self: Sized

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

fn or_else<F, U>(self, f: F) -> OrElse<Self, F, U> where F: FnMut(Self::Error) -> U, U: IntoFuture<Item=Self::Item>, Self: Sized

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

fn collect(self) -> Collect<Self> where Self: Sized

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

fn fold<F, T, Fut>(self, init: T, f: F) -> Fold<Self, F, Fut, T> where F: FnMut(T, Self::Item) -> Fut, Fut: IntoFuture<Item=T>, Self::Error: From<Fut::Error>, Self: Sized

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

fn flatten(self) -> Flatten<Self> where Self::Item: Stream, Self::Item::Error: From<Self::Error>, Self: Sized

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

fn skip_while<P, R>(self, pred: P) -> SkipWhile<Self, P, R> where P: FnMut(&Self::Item) -> R, R: IntoFuture<Item=bool, Error=Self::Error>, Self: Sized

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

fn for_each<F>(self, f: F) -> ForEach<Self, F> where F: FnMut(Self::Item) -> Result<(), Self::Error>, Self: Sized

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

fn take(self, amt: u64) -> Take<Self> where Self: Sized

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

fn skip(self, amt: u64) -> Skip<Self> where Self: Sized

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

fn fuse(self) -> Fuse<Self> where Self: Sized

Fuse a stream such that poll/schedule will never again be called once it has terminated (signaled emptyness or an error). Read more

fn buffered(self, amt: usize) -> Buffered<Self> where Self::Item: IntoFuture<Error=Self::Error>, Self: Sized

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

fn buffer_unordered(self, amt: usize) -> BufferUnordered<Self> where Self::Item: IntoFuture<Error=Self::Error>, Self: Sized

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

fn merge<S>(self, other: S) -> Merge<Self, S> where S: Stream<Error=Self::Error>, Self: Sized

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

fn zip<S>(self, other: S) -> Zip<Self, S> where S: Stream<Error=Self::Error>, Self: Sized

An adapter for zipping two streams together. Read more

fn peekable(self) -> Peekable<Self> where Self: Sized

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