pub struct Flatten<S> where
S: Stream, { /* private fields */ }
Expand description
A combinator used to flatten a stream-of-streams into one long stream of elements.
This combinator is created by the Stream::flatten
method.
Implementations
sourceimpl<S: Stream> Flatten<S>
impl<S: Stream> Flatten<S>
sourcepub fn get_ref(&self) -> &S
pub fn get_ref(&self) -> &S
Acquires a reference to the underlying stream that this combinator is pulling from.
sourcepub fn get_mut(&mut self) -> &mut S
pub fn get_mut(&mut self) -> &mut S
Acquires a mutable reference to the underlying stream that this combinator is pulling from.
Note that care must be taken to avoid tampering with the state of the stream which may otherwise confuse this combinator.
sourcepub fn into_inner(self) -> S
pub fn into_inner(self) -> S
Consumes this combinator, returning the underlying stream.
Note that this may discard intermediate state of this combinator, so care should be taken to avoid losing resources when this is called.
Trait Implementations
sourceimpl<S> Sink for Flatten<S> where
S: Sink + Stream,
impl<S> Sink for Flatten<S> where
S: Sink + Stream,
sourcefn start_send(
&mut self,
item: S::SinkItem
) -> StartSend<S::SinkItem, S::SinkError>
fn start_send(
&mut self,
item: S::SinkItem
) -> StartSend<S::SinkItem, S::SinkError>
Begin the process of sending a value to the sink. Read more
sourcefn poll_complete(&mut self) -> Poll<(), S::SinkError>
fn poll_complete(&mut self) -> Poll<(), S::SinkError>
Flush all output from this sink, if necessary. Read more
sourcefn close(&mut self) -> Poll<(), S::SinkError>
fn close(&mut self) -> Poll<(), S::SinkError>
A method to indicate that no more values will ever be pushed into this sink. Read more
sourcefn wait(self) -> Wait<Self> where
Self: Sized,
fn wait(self) -> Wait<Self> where
Self: Sized,
Creates a new object which will produce a synchronous sink. Read more
sourcefn with<U, F, Fut>(self, f: F) -> With<Self, U, F, Fut> where
F: FnMut(U) -> Fut,
Fut: IntoFuture<Item = Self::SinkItem>,
Fut::Error: From<Self::SinkError>,
Self: Sized,
fn with<U, F, Fut>(self, f: F) -> With<Self, U, F, Fut> where
F: FnMut(U) -> Fut,
Fut: IntoFuture<Item = Self::SinkItem>,
Fut::Error: From<Self::SinkError>,
Self: Sized,
Composes a function in front of the sink. Read more
sourcefn with_flat_map<U, F, St>(self, f: F) -> WithFlatMap<Self, U, F, St> where
F: FnMut(U) -> St,
St: Stream<Item = Self::SinkItem, Error = Self::SinkError>,
Self: Sized,
fn with_flat_map<U, F, St>(self, f: F) -> WithFlatMap<Self, U, F, St> where
F: FnMut(U) -> St,
St: Stream<Item = Self::SinkItem, Error = Self::SinkError>,
Self: Sized,
Composes a function in front of the sink. Read more
sourcefn sink_map_err<F, E>(self, f: F) -> SinkMapErr<Self, F> where
F: FnOnce(Self::SinkError) -> E,
Self: Sized,
fn sink_map_err<F, E>(self, f: F) -> SinkMapErr<Self, F> where
F: FnOnce(Self::SinkError) -> E,
Self: Sized,
Transforms the error returned by the sink.
sourcefn sink_from_err<E: From<Self::SinkError>>(self) -> SinkFromErr<Self, E> where
Self: Sized,
fn sink_from_err<E: From<Self::SinkError>>(self) -> SinkFromErr<Self, E> where
Self: Sized,
Map this sink’s error to any error implementing From
for this sink’s
Error
, returning a new sink. Read more
sourcefn buffer(self, amt: usize) -> Buffer<Self> where
Self: Sized,
fn buffer(self, amt: usize) -> Buffer<Self> where
Self: Sized,
Adds a fixed-size buffer to the current sink. Read more
sourcefn fanout<S>(self, other: S) -> Fanout<Self, S> where
Self: Sized,
Self::SinkItem: Clone,
S: Sink<SinkItem = Self::SinkItem, SinkError = Self::SinkError>,
fn fanout<S>(self, other: S) -> Fanout<Self, S> where
Self: Sized,
Self::SinkItem: Clone,
S: Sink<SinkItem = Self::SinkItem, SinkError = Self::SinkError>,
Fanout items to multiple sinks. Read more
sourcefn flush(self) -> Flush<Self> where
Self: Sized,
fn flush(self) -> Flush<Self> where
Self: Sized,
A future that completes when the sink has finished processing all pending requests. Read more
sourceimpl<S> Stream for Flatten<S> where
S: Stream,
S::Item: Stream,
<S::Item as Stream>::Error: From<S::Error>,
impl<S> Stream for Flatten<S> where
S: Stream,
S::Item: Stream,
<S::Item as Stream>::Error: From<S::Error>,
sourcefn poll(&mut self) -> Poll<Option<Self::Item>, Self::Error>
fn poll(&mut self) -> Poll<Option<Self::Item>, Self::Error>
Attempt to pull out the next value of this stream, returning None
if
the stream is finished. Read more
sourcefn wait(self) -> Wait<Self>ⓘNotable traits for Wait<S>impl<S: Stream> Iterator for Wait<S> type Item = Result<S::Item, S::Error>;
where
Self: Sized,
fn wait(self) -> Wait<Self>ⓘNotable traits for Wait<S>impl<S: Stream> Iterator for Wait<S> type Item = Result<S::Item, S::Error>;
where
Self: Sized,
Creates an iterator which blocks the current thread until each item of this stream is resolved. Read more
sourcefn into_future(self) -> StreamFuture<Self> where
Self: Sized,
fn into_future(self) -> StreamFuture<Self> where
Self: Sized,
Converts this stream into a Future
. Read more
sourcefn map<U, F>(self, f: F) -> Map<Self, F> where
F: FnMut(Self::Item) -> U,
Self: Sized,
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
sourcefn map_err<U, F>(self, f: F) -> MapErr<Self, F> where
F: FnMut(Self::Error) -> U,
Self: Sized,
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
sourcefn filter<F>(self, f: F) -> Filter<Self, F> where
F: FnMut(&Self::Item) -> bool,
Self: Sized,
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
sourcefn filter_map<F, B>(self, f: F) -> FilterMap<Self, F> where
F: FnMut(Self::Item) -> Option<B>,
Self: Sized,
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
sourcefn then<F, U>(self, f: F) -> Then<Self, F, U> where
F: FnMut(Result<Self::Item, Self::Error>) -> U,
U: IntoFuture,
Self: Sized,
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
sourcefn and_then<F, U>(self, f: F) -> AndThen<Self, F, U> where
F: FnMut(Self::Item) -> U,
U: IntoFuture<Error = Self::Error>,
Self: Sized,
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
sourcefn or_else<F, U>(self, f: F) -> OrElse<Self, F, U> where
F: FnMut(Self::Error) -> U,
U: IntoFuture<Item = Self::Item>,
Self: Sized,
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
sourcefn collect(self) -> Collect<Self> where
Self: Sized,
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
sourcefn concat2(self) -> Concat2<Self> where
Self: Sized,
Self::Item: Extend<<<Self as Stream>::Item as IntoIterator>::Item> + IntoIterator + Default,
fn concat2(self) -> Concat2<Self> where
Self: Sized,
Self::Item: Extend<<<Self as Stream>::Item as IntoIterator>::Item> + IntoIterator + Default,
Concatenate all results of a stream into a single extendable destination, returning a future representing the end result. Read more
sourcefn concat(self) -> Concat<Self> where
Self: Sized,
Self::Item: Extend<<<Self as Stream>::Item as IntoIterator>::Item> + IntoIterator,
fn concat(self) -> Concat<Self> where
Self: Sized,
Self::Item: Extend<<<Self as Stream>::Item as IntoIterator>::Item> + IntoIterator,
please use Stream::concat2
instead
Concatenate all results of a stream into a single extendable destination, returning a future representing the end result. Read more
sourcefn 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,
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
sourcefn flatten(self) -> Flatten<Self> where
Self::Item: Stream,
<Self::Item as Stream>::Error: From<Self::Error>,
Self: Sized,
fn flatten(self) -> Flatten<Self> where
Self::Item: Stream,
<Self::Item as Stream>::Error: From<Self::Error>,
Self: Sized,
Flattens a stream of streams into just one continuous stream. Read more
sourcefn 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,
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
sourcefn take_while<P, R>(self, pred: P) -> TakeWhile<Self, P, R> where
P: FnMut(&Self::Item) -> R,
R: IntoFuture<Item = bool, Error = Self::Error>,
Self: Sized,
fn take_while<P, R>(self, pred: P) -> TakeWhile<Self, P, R> where
P: FnMut(&Self::Item) -> R,
R: IntoFuture<Item = bool, Error = Self::Error>,
Self: Sized,
Take elements from this stream while the predicate provided resolves to
true
. Read more
sourcefn for_each<F, U>(self, f: F) -> ForEach<Self, F, U> where
F: FnMut(Self::Item) -> U,
U: IntoFuture<Item = (), Error = Self::Error>,
Self: Sized,
fn for_each<F, U>(self, f: F) -> ForEach<Self, F, U> where
F: FnMut(Self::Item) -> U,
U: IntoFuture<Item = (), Error = Self::Error>,
Self: Sized,
Runs this stream to completion, executing the provided closure for each element on the stream. Read more
sourcefn from_err<E: From<Self::Error>>(self) -> FromErr<Self, E> where
Self: Sized,
fn from_err<E: From<Self::Error>>(self) -> FromErr<Self, E> where
Self: Sized,
Map this stream’s error to any error implementing From
for
this stream’s Error
, returning a new stream. Read more
sourcefn take(self, amt: u64) -> Take<Self> where
Self: Sized,
fn take(self, amt: u64) -> Take<Self> where
Self: Sized,
Creates a new stream of at most amt
items of the underlying stream. Read more
sourcefn skip(self, amt: u64) -> Skip<Self> where
Self: Sized,
fn skip(self, amt: u64) -> Skip<Self> where
Self: Sized,
Creates a new stream which skips amt
items of the underlying stream. Read more
sourcefn fuse(self) -> Fuse<Self> where
Self: Sized,
fn fuse(self) -> Fuse<Self> where
Self: Sized,
Fuse a stream such that poll
will never again be called once it has
finished. Read more
sourcefn by_ref(&mut self) -> &mut Self where
Self: Sized,
fn by_ref(&mut self) -> &mut Self where
Self: Sized,
Borrows a stream, rather than consuming it. Read more
sourcefn catch_unwind(self) -> CatchUnwind<Self> where
Self: Sized + UnwindSafe,
fn catch_unwind(self) -> CatchUnwind<Self> where
Self: Sized + UnwindSafe,
Catches unwinding panics while polling the stream. Read more
sourcefn buffered(self, amt: usize) -> Buffered<Self> where
Self::Item: IntoFuture<Error = <Self as Stream>::Error>,
Self: Sized,
fn buffered(self, amt: usize) -> Buffered<Self> where
Self::Item: IntoFuture<Error = <Self as Stream>::Error>,
Self: Sized,
An adaptor for creating a buffered list of pending futures. Read more
sourcefn buffer_unordered(self, amt: usize) -> BufferUnordered<Self> where
Self::Item: IntoFuture<Error = <Self as Stream>::Error>,
Self: Sized,
fn buffer_unordered(self, amt: usize) -> BufferUnordered<Self> where
Self::Item: IntoFuture<Error = <Self as Stream>::Error>,
Self: Sized,
An adaptor for creating a buffered list of pending futures (unordered). Read more
sourcefn merge<S>(self, other: S) -> Merge<Self, S> where
S: Stream<Error = Self::Error>,
Self: Sized,
fn merge<S>(self, other: S) -> Merge<Self, S> where
S: Stream<Error = Self::Error>,
Self: Sized,
functionality provided by select
now
An adapter for merging the output of two streams. Read more
sourcefn zip<S>(self, other: S) -> Zip<Self, S> where
S: Stream<Error = Self::Error>,
Self: Sized,
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
sourcefn chain<S>(self, other: S) -> Chain<Self, S> where
S: Stream<Item = Self::Item, Error = Self::Error>,
Self: Sized,
fn chain<S>(self, other: S) -> Chain<Self, S> where
S: Stream<Item = Self::Item, Error = Self::Error>,
Self: Sized,
Adapter for chaining two stream. Read more
sourcefn peekable(self) -> Peekable<Self> where
Self: Sized,
fn peekable(self) -> Peekable<Self> where
Self: Sized,
Creates a new stream which exposes a peek
method. Read more
sourcefn chunks(self, capacity: usize) -> Chunks<Self> where
Self: Sized,
fn chunks(self, capacity: usize) -> Chunks<Self> where
Self: Sized,
An adaptor for chunking up items of the stream inside a vector. Read more
sourcefn select<S>(self, other: S) -> Select<Self, S> where
S: Stream<Item = Self::Item, Error = Self::Error>,
Self: Sized,
fn select<S>(self, other: S) -> Select<Self, S> where
S: Stream<Item = Self::Item, Error = Self::Error>,
Self: Sized,
Creates a stream that selects the next element from either this stream or the provided one, whichever is ready first. Read more
sourcefn forward<S>(self, sink: S) -> Forward<Self, S> where
S: Sink<SinkItem = Self::Item>,
Self::Error: From<S::SinkError>,
Self: Sized,
fn forward<S>(self, sink: S) -> Forward<Self, S> where
S: Sink<SinkItem = Self::Item>,
Self::Error: From<S::SinkError>,
Self: Sized,
A future that completes after the given stream has been fully processed into the sink, including flushing. Read more
sourcefn split(self) -> (SplitSink<Self>, SplitStream<Self>) where
Self: Sink + Sized,
fn split(self) -> (SplitSink<Self>, SplitStream<Self>) where
Self: Sink + Sized,
Splits this Stream + Sink
object into separate Stream
and Sink
objects. Read more
sourcefn inspect<F>(self, f: F) -> Inspect<Self, F> where
F: FnMut(&Self::Item),
Self: Sized,
fn inspect<F>(self, f: F) -> Inspect<Self, F> where
F: FnMut(&Self::Item),
Self: Sized,
Do something with each item of this stream, afterwards passing it on. Read more
sourcefn inspect_err<F>(self, f: F) -> InspectErr<Self, F> where
F: FnMut(&Self::Error),
Self: Sized,
fn inspect_err<F>(self, f: F) -> InspectErr<Self, F> where
F: FnMut(&Self::Error),
Self: Sized,
Do something with the error of this stream, afterwards passing it on. Read more
Auto Trait Implementations
impl<S> RefUnwindSafe for Flatten<S> where
S: RefUnwindSafe,
<S as Stream>::Item: RefUnwindSafe,
impl<S> Send for Flatten<S> where
S: Send,
<S as Stream>::Item: Send,
impl<S> Sync for Flatten<S> where
S: Sync,
<S as Stream>::Item: Sync,
impl<S> Unpin for Flatten<S> where
S: Unpin,
<S as Stream>::Item: Unpin,
impl<S> UnwindSafe for Flatten<S> where
S: UnwindSafe,
<S as Stream>::Item: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more