[−][src]Struct futures::stream::SelectAll  
An unbounded set of streams
This "combinator" provides the ability to maintain a set of streams and drive them all to completion.
Streams are pushed into this set and their realized values are yielded as they become ready. Streams will only be polled when they generate notifications. This allows to coordinate a large number of streams.
Note that you can create a ready-made SelectAll via the
select_all function in the stream module, or you can start with an
empty set with the SelectAll::new constructor.
Methods
impl<St> SelectAll<St> where
    St: Unpin + Stream, [src]
St: Unpin + Stream,
pub fn new() -> SelectAll<St>[src]
Constructs a new, empty SelectAll
The returned SelectAll does not contain any streams and, in this
state, SelectAll::poll will return Poll::Ready(None).
pub fn len(&self) -> usize[src]
Returns the number of streams contained in the set.
This represents the total number of in-flight streams.
pub fn is_empty(&self) -> bool[src]
Returns true if the set contains no streams
pub fn push(&mut self, stream: St)[src]
Push a stream into the set.
This function submits the given stream to the set for managing. This
function will not call poll on the submitted stream. The caller must
ensure that SelectAll::poll is called in order to receive task
notifications.
Trait Implementations
impl<St> Default for SelectAll<St> where
    St: Unpin + Stream, [src]
St: Unpin + Stream,
impl<St> FromIterator<St> for SelectAll<St> where
    St: Unpin + Stream, [src]
St: Unpin + Stream,
fn from_iter<T>(iter: T) -> SelectAll<St> where
    T: IntoIterator<Item = St>, [src]
T: IntoIterator<Item = St>,
impl<St> Debug for SelectAll<St> where
    St: Debug, [src]
St: Debug,
impl<St> Stream for SelectAll<St> where
    St: Unpin + Stream, [src]
St: Unpin + Stream,
type Item = <St as Stream>::Item
Values yielded by the stream.
fn poll_next(
    self: Pin<&mut SelectAll<St>>, 
    cx: &mut Context
) -> Poll<Option<<SelectAll<St> as Stream>::Item>>[src]
self: Pin<&mut SelectAll<St>>,
cx: &mut Context
) -> Poll<Option<<SelectAll<St> as Stream>::Item>>
fn size_hint(&self) -> (usize, Option<usize>)[src]
impl<St> FusedStream for SelectAll<St> where
    St: Unpin + Stream, [src]
St: Unpin + Stream,
fn is_terminated(&self) -> bool[src]
Auto Trait Implementations
impl<St> Send for SelectAll<St> where
    St: Send, 
St: Send,
impl<St> Sync for SelectAll<St> where
    St: Sync, 
St: Sync,
impl<St> Unpin for SelectAll<St>
impl<St> !UnwindSafe for SelectAll<St>
impl<St> !RefUnwindSafe for SelectAll<St>
Blanket Implementations
impl<T, U> Into<U> for T where
    U: From<T>, [src]
U: From<T>,
impl<T> From<T> for T[src]
impl<T, U> TryFrom<U> for T where
    U: Into<T>, [src]
U: Into<T>,
type Error = !
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> Borrow<T> for T where
    T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
    T: ?Sized, [src]
T: ?Sized,
ⓘImportant traits for &'_ mut Ffn borrow_mut(&mut self) -> &mut T[src]
impl<T> Any for T where
    T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<S, T, E> TryStream for S where
    S: Stream<Item = Result<T, E>> + ?Sized, [src]
S: Stream<Item = Result<T, E>> + ?Sized,
type Ok = T
The type of successful values yielded by this future
type Error = E
The type of failures yielded by this future
fn try_poll_next(
    self: Pin<&mut S>, 
    cx: &mut Context
) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>[src]
self: Pin<&mut S>,
cx: &mut Context
) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>
impl<T> StreamExt for T where
    T: Stream + ?Sized, [src]
T: Stream + ?Sized,
ⓘImportant traits for Next<'_, St>fn next(&mut self) -> Next<Self> where
    Self: Unpin, [src]
Self: Unpin,
ⓘImportant traits for StreamFuture<St>fn into_future(self) -> StreamFuture<Self> where
    Self: Unpin, [src]
Self: Unpin,
fn map<T, F>(self, f: F) -> Map<Self, F> where
    F: FnMut(Self::Item) -> T, [src]
F: FnMut(Self::Item) -> T,
fn enumerate(self) -> Enumerate<Self>[src]
fn filter<Fut, F>(self, f: F) -> Filter<Self, Fut, F> where
    F: FnMut(&Self::Item) -> Fut,
    Fut: Future<Output = bool>, [src]
F: FnMut(&Self::Item) -> Fut,
Fut: Future<Output = bool>,
fn filter_map<Fut, T, F>(self, f: F) -> FilterMap<Self, Fut, F> where
    F: FnMut(Self::Item) -> Fut,
    Fut: Future<Output = Option<T>>, [src]
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = Option<T>>,
fn then<Fut, F>(self, f: F) -> Then<Self, Fut, F> where
    F: FnMut(Self::Item) -> Fut,
    Fut: Future, [src]
F: FnMut(Self::Item) -> Fut,
Fut: Future,
ⓘImportant traits for Collect<St, C>fn collect<C>(self) -> Collect<Self, C> where
    C: Default + Extend<Self::Item>, [src]
C: Default + Extend<Self::Item>,
ⓘImportant traits for Concat<St>fn concat(self) -> Concat<Self> where
    Self::Item: Extend<<Self::Item as IntoIterator>::Item>,
    Self::Item: IntoIterator,
    Self::Item: Default, [src]
Self::Item: Extend<<Self::Item as IntoIterator>::Item>,
Self::Item: IntoIterator,
Self::Item: Default,
ⓘImportant traits for Fold<St, Fut, T, F>fn fold<T, Fut, F>(self, init: T, f: F) -> Fold<Self, Fut, T, F> where
    F: FnMut(T, Self::Item) -> Fut,
    Fut: Future<Output = T>, [src]
F: FnMut(T, Self::Item) -> Fut,
Fut: Future<Output = T>,
fn flatten(self) -> Flatten<Self> where
    Self::Item: Stream, [src]
Self::Item: Stream,
fn skip_while<Fut, F>(self, f: F) -> SkipWhile<Self, Fut, F> where
    F: FnMut(&Self::Item) -> Fut,
    Fut: Future<Output = bool>, [src]
F: FnMut(&Self::Item) -> Fut,
Fut: Future<Output = bool>,
fn take_while<Fut, F>(self, f: F) -> TakeWhile<Self, Fut, F> where
    F: FnMut(&Self::Item) -> Fut,
    Fut: Future<Output = bool>, [src]
F: FnMut(&Self::Item) -> Fut,
Fut: Future<Output = bool>,
ⓘImportant traits for ForEach<St, Fut, F>fn for_each<Fut, F>(self, f: F) -> ForEach<Self, Fut, F> where
    F: FnMut(Self::Item) -> Fut,
    Fut: Future<Output = ()>, [src]
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = ()>,
ⓘImportant traits for ForEachConcurrent<St, Fut, F>fn for_each_concurrent<Fut, F>(
    self, 
    limit: impl Into<Option<usize>>, 
    f: F
) -> ForEachConcurrent<Self, Fut, F> where
    F: FnMut(Self::Item) -> Fut,
    Fut: Future<Output = ()>, [src]
self,
limit: impl Into<Option<usize>>,
f: F
) -> ForEachConcurrent<Self, Fut, F> where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = ()>,
fn take(self, n: usize) -> Take<Self>[src]
fn skip(self, n: usize) -> Skip<Self>[src]
fn fuse(self) -> Fuse<Self>[src]
ⓘImportant traits for &'_ mut Ffn by_ref(&mut self) -> &mut Self[src]
fn catch_unwind(self) -> CatchUnwind<Self> where
    Self: UnwindSafe, [src]
Self: UnwindSafe,
ⓘImportant traits for Pin<P>fn boxed<'a>(self) -> Pin<Box<dyn Stream<Item = Self::Item> + 'a + Send>> where
    Self: Send + 'a, [src]
Self: Send + 'a,
ⓘImportant traits for Pin<P>fn boxed_local<'a>(self) -> Pin<Box<dyn Stream<Item = Self::Item> + 'a>> where
    Self: 'a, [src]
Self: 'a,
fn buffered(self, n: usize) -> Buffered<Self> where
    Self::Item: Future, [src]
Self::Item: Future,
fn buffer_unordered(self, n: usize) -> BufferUnordered<Self> where
    Self::Item: Future, [src]
Self::Item: Future,
fn zip<St>(self, other: St) -> Zip<Self, St> where
    St: Stream, [src]
St: Stream,
fn chain<St>(self, other: St) -> Chain<Self, St> where
    St: Stream<Item = Self::Item>, [src]
St: Stream<Item = Self::Item>,
fn peekable(self) -> Peekable<Self>[src]
fn chunks(self, capacity: usize) -> Chunks<Self>[src]
ⓘImportant traits for Forward<St, Si>fn forward<S>(self, sink: S) -> Forward<Self, S> where
    S: Sink<Self::Ok>,
    Self: TryStream<Error = <S as Sink<Self::Ok>>::Error>, [src]
S: Sink<Self::Ok>,
Self: TryStream<Error = <S as Sink<Self::Ok>>::Error>,
fn split<Item>(self) -> (SplitSink<Self, Item>, SplitStream<Self>) where
    Self: Sink<Item>, [src]
Self: Sink<Item>,
fn inspect<F>(self, f: F) -> Inspect<Self, F> where
    F: FnMut(&Self::Item), [src]
F: FnMut(&Self::Item),
ⓘImportant traits for Either<A, B>fn left_stream<B>(self) -> Either<Self, B> where
    B: Stream<Item = Self::Item>, [src]
B: Stream<Item = Self::Item>,
ⓘImportant traits for Either<A, B>fn right_stream<B>(self) -> Either<B, Self> where
    B: Stream<Item = Self::Item>, [src]
B: Stream<Item = Self::Item>,
fn poll_next_unpin(&mut self, cx: &mut Context) -> Poll<Option<Self::Item>> where
    Self: Unpin, [src]
Self: Unpin,
ⓘImportant traits for SelectNextSome<'_, St>fn select_next_some(&mut self) -> SelectNextSome<Self> where
    Self: Unpin + FusedStream, [src]
Self: Unpin + FusedStream,
impl<S> TryStreamExt for S where
    S: TryStream + ?Sized, [src]
S: TryStream + ?Sized,
fn err_into<E>(self) -> ErrInto<Self, E> where
    Self::Error: Into<E>, [src]
Self::Error: Into<E>,
fn map_ok<T, F>(self, f: F) -> MapOk<Self, F> where
    F: FnMut(Self::Ok) -> T, [src]
F: FnMut(Self::Ok) -> T,
fn map_err<E, F>(self, f: F) -> MapErr<Self, F> where
    F: FnMut(Self::Error) -> E, [src]
F: FnMut(Self::Error) -> E,
fn and_then<Fut, F>(self, f: F) -> AndThen<Self, Fut, F> where
    F: FnMut(Self::Ok) -> Fut,
    Fut: TryFuture<Error = Self::Error>, [src]
F: FnMut(Self::Ok) -> Fut,
Fut: TryFuture<Error = Self::Error>,
fn or_else<Fut, F>(self, f: F) -> OrElse<Self, Fut, F> where
    F: FnMut(Self::Error) -> Fut,
    Fut: TryFuture<Ok = Self::Ok>, [src]
F: FnMut(Self::Error) -> Fut,
Fut: TryFuture<Ok = Self::Ok>,
fn inspect_ok<F>(self, f: F) -> InspectOk<Self, F> where
    F: FnMut(&Self::Ok), [src]
F: FnMut(&Self::Ok),
fn inspect_err<F>(self, f: F) -> InspectErr<Self, F> where
    F: FnMut(&Self::Error), [src]
F: FnMut(&Self::Error),
fn into_stream(self) -> IntoStream<Self>[src]
ⓘImportant traits for TryNext<'_, St>fn try_next(&mut self) -> TryNext<Self> where
    Self: Unpin, [src]
Self: Unpin,
ⓘImportant traits for TryForEach<St, Fut, F>fn try_for_each<Fut, F>(self, f: F) -> TryForEach<Self, Fut, F> where
    F: FnMut(Self::Ok) -> Fut,
    Fut: TryFuture<Ok = (), Error = Self::Error>, [src]
F: FnMut(Self::Ok) -> Fut,
Fut: TryFuture<Ok = (), Error = Self::Error>,
fn try_skip_while<Fut, F>(self, f: F) -> TrySkipWhile<Self, Fut, F> where
    F: FnMut(&Self::Ok) -> Fut,
    Fut: TryFuture<Ok = bool, Error = Self::Error>, [src]
F: FnMut(&Self::Ok) -> Fut,
Fut: TryFuture<Ok = bool, Error = Self::Error>,
ⓘImportant traits for TryForEachConcurrent<St, Fut, F>fn try_for_each_concurrent<Fut, F>(
    self, 
    limit: impl Into<Option<usize>>, 
    f: F
) -> TryForEachConcurrent<Self, Fut, F> where
    F: FnMut(Self::Ok) -> Fut,
    Fut: Future<Output = Result<(), Self::Error>>, [src]
self,
limit: impl Into<Option<usize>>,
f: F
) -> TryForEachConcurrent<Self, Fut, F> where
F: FnMut(Self::Ok) -> Fut,
Fut: Future<Output = Result<(), Self::Error>>,
ⓘImportant traits for TryCollect<St, C>fn try_collect<C>(self) -> TryCollect<Self, C> where
    C: Default + Extend<Self::Ok>, [src]
C: Default + Extend<Self::Ok>,
fn try_filter<Fut, F>(self, f: F) -> TryFilter<Self, Fut, F> where
    F: FnMut(&Self::Ok) -> Fut,
    Fut: Future<Output = bool>, [src]
F: FnMut(&Self::Ok) -> Fut,
Fut: Future<Output = bool>,
fn try_filter_map<Fut, F, T>(self, f: F) -> TryFilterMap<Self, Fut, F> where
    F: FnMut(Self::Ok) -> Fut,
    Fut: TryFuture<Ok = Option<T>, Error = Self::Error>, [src]
F: FnMut(Self::Ok) -> Fut,
Fut: TryFuture<Ok = Option<T>, Error = Self::Error>,
fn try_flatten(self) -> TryFlatten<Self> where
    Self::Ok: TryStream,
    <Self::Ok as TryStream>::Error: From<Self::Error>, [src]
Self::Ok: TryStream,
<Self::Ok as TryStream>::Error: From<Self::Error>,
ⓘImportant traits for TryFold<St, Fut, T, F>fn try_fold<T, Fut, F>(self, init: T, f: F) -> TryFold<Self, Fut, T, F> where
    F: FnMut(T, Self::Ok) -> Fut,
    Fut: TryFuture<Ok = T, Error = Self::Error>, [src]
F: FnMut(T, Self::Ok) -> Fut,
Fut: TryFuture<Ok = T, Error = Self::Error>,
ⓘImportant traits for TryConcat<St>fn try_concat(self) -> TryConcat<Self> where
    Self::Ok: Extend<<Self::Ok as IntoIterator>::Item>,
    Self::Ok: IntoIterator,
    Self::Ok: Default, [src]
Self::Ok: Extend<<Self::Ok as IntoIterator>::Item>,
Self::Ok: IntoIterator,
Self::Ok: Default,
fn try_buffer_unordered(self, n: usize) -> TryBufferUnordered<Self> where
    Self::Ok: TryFuture,
    <Self::Ok as TryFuture>::Error == Self::Error, [src]
Self::Ok: TryFuture,
<Self::Ok as TryFuture>::Error == Self::Error,
fn try_poll_next_unpin(
    &mut self, 
    cx: &mut Context
) -> Poll<Option<Result<Self::Ok, Self::Error>>> where
    Self: Unpin, [src]
&mut self,
cx: &mut Context
) -> Poll<Option<Result<Self::Ok, Self::Error>>> where
Self: Unpin,
fn into_async_read(self) -> IntoAsyncRead<Self> where
    Self: TryStreamExt<Error = Error> + Unpin,
    Self::Ok: AsRef<[u8]>, [src]
Self: TryStreamExt<Error = Error> + Unpin,
Self::Ok: AsRef<[u8]>,