Struct futures::stream::FuturesUnordered
source · [−]pub struct FuturesUnordered<Fut> { /* private fields */ }
Expand description
A set of futures which may complete in any order.
See FuturesOrdered
for a version of this
type that preserves a FIFO order.
This structure is optimized to manage a large number of futures.
Futures managed by FuturesUnordered
will only be polled when they
generate wake-up notifications. This reduces the required amount of work
needed to poll large numbers of futures.
FuturesUnordered
can be filled by collect
ing an
iterator of futures into a FuturesUnordered
, or by
push
ing futures onto an existing
FuturesUnordered
. When new futures are added,
poll_next
must be called in order to begin receiving
wake-ups for new futures.
Note that you can create a ready-made FuturesUnordered
via the
collect
method, or you can start with an empty set
with the FuturesUnordered::new
constructor.
This type is only available when the std
or alloc
feature of this
library is activated, and it is activated by default.
Implementations
sourceimpl<Fut> FuturesUnordered<Fut>
impl<Fut> FuturesUnordered<Fut>
sourcepub fn new() -> FuturesUnordered<Fut>
pub fn new() -> FuturesUnordered<Fut>
Constructs a new, empty FuturesUnordered
.
The returned FuturesUnordered
does not contain any futures.
In this state, FuturesUnordered::poll_next
will
return Poll::Ready(None)
.
sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Returns the number of futures contained in the set.
This represents the total number of in-flight futures.
sourcepub fn push(&self, future: Fut)
pub fn push(&self, future: Fut)
Push a future into the set.
This method adds the given future to the set. This method will not
call poll
on the submitted future. The caller must
ensure that FuturesUnordered::poll_next
is called
in order to receive wake-up notifications for the given future.
sourcepub fn iter(&self) -> Iter<'_, Fut>ⓘNotable traits for Iter<'a, Fut>impl<'a, Fut> Iterator for Iter<'a, Fut>where
Fut: Unpin, type Item = &'a Fut;
where
Fut: Unpin,
pub fn iter(&self) -> Iter<'_, Fut>ⓘNotable traits for Iter<'a, Fut>impl<'a, Fut> Iterator for Iter<'a, Fut>where
Fut: Unpin, type Item = &'a Fut;
where
Fut: Unpin,
Fut: Unpin, type Item = &'a Fut;
Returns an iterator that allows inspecting each future in the set.
sourcepub fn iter_pin_ref(self: Pin<&FuturesUnordered<Fut>>) -> IterPinRef<'_, Fut>ⓘNotable traits for IterPinRef<'a, Fut>impl<'a, Fut> Iterator for IterPinRef<'a, Fut> type Item = Pin<&'a Fut>;
pub fn iter_pin_ref(self: Pin<&FuturesUnordered<Fut>>) -> IterPinRef<'_, Fut>ⓘNotable traits for IterPinRef<'a, Fut>impl<'a, Fut> Iterator for IterPinRef<'a, Fut> type Item = Pin<&'a Fut>;
Returns an iterator that allows inspecting each future in the set.
sourcepub fn iter_mut(&mut self) -> IterMut<'_, Fut>ⓘNotable traits for IterMut<'a, Fut>impl<'a, Fut> Iterator for IterMut<'a, Fut>where
Fut: Unpin, type Item = &'a mut Fut;
where
Fut: Unpin,
pub fn iter_mut(&mut self) -> IterMut<'_, Fut>ⓘNotable traits for IterMut<'a, Fut>impl<'a, Fut> Iterator for IterMut<'a, Fut>where
Fut: Unpin, type Item = &'a mut Fut;
where
Fut: Unpin,
Fut: Unpin, type Item = &'a mut Fut;
Returns an iterator that allows modifying each future in the set.
sourcepub fn iter_pin_mut(
self: Pin<&mut FuturesUnordered<Fut>>
) -> IterPinMut<'_, Fut>ⓘNotable traits for IterPinMut<'a, Fut>impl<'a, Fut> Iterator for IterPinMut<'a, Fut> type Item = Pin<&'a mut Fut>;
pub fn iter_pin_mut(
self: Pin<&mut FuturesUnordered<Fut>>
) -> IterPinMut<'_, Fut>ⓘNotable traits for IterPinMut<'a, Fut>impl<'a, Fut> Iterator for IterPinMut<'a, Fut> type Item = Pin<&'a mut Fut>;
Returns an iterator that allows modifying each future in the set.
sourceimpl<Fut> FuturesUnordered<Fut>
impl<Fut> FuturesUnordered<Fut>
Trait Implementations
sourceimpl<Fut> Debug for FuturesUnordered<Fut>
impl<Fut> Debug for FuturesUnordered<Fut>
sourceimpl<Fut> Default for FuturesUnordered<Fut>
impl<Fut> Default for FuturesUnordered<Fut>
sourcefn default() -> FuturesUnordered<Fut>
fn default() -> FuturesUnordered<Fut>
sourceimpl<Fut> Drop for FuturesUnordered<Fut>
impl<Fut> Drop for FuturesUnordered<Fut>
sourceimpl<Fut> Extend<Fut> for FuturesUnordered<Fut>
impl<Fut> Extend<Fut> for FuturesUnordered<Fut>
sourcefn extend<I>(&mut self, iter: I)where
I: IntoIterator<Item = Fut>,
fn extend<I>(&mut self, iter: I)where
I: IntoIterator<Item = Fut>,
sourcefn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)sourcefn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)sourceimpl<Fut> FromIterator<Fut> for FuturesUnordered<Fut>
impl<Fut> FromIterator<Fut> for FuturesUnordered<Fut>
sourcefn from_iter<I>(iter: I) -> FuturesUnordered<Fut>where
I: IntoIterator<Item = Fut>,
fn from_iter<I>(iter: I) -> FuturesUnordered<Fut>where
I: IntoIterator<Item = Fut>,
sourceimpl<Fut> FusedStream for FuturesUnordered<Fut>where
Fut: Future,
impl<Fut> FusedStream for FuturesUnordered<Fut>where
Fut: Future,
sourcefn is_terminated(&self) -> bool
fn is_terminated(&self) -> bool
true
if the stream should no longer be polled.sourceimpl<'a, Fut> IntoIterator for &'a FuturesUnordered<Fut>where
Fut: Unpin,
impl<'a, Fut> IntoIterator for &'a FuturesUnordered<Fut>where
Fut: Unpin,
sourcefn into_iter(self) -> <&'a FuturesUnordered<Fut> as IntoIterator>::IntoIter
fn into_iter(self) -> <&'a FuturesUnordered<Fut> as IntoIterator>::IntoIter
sourceimpl<'a, Fut> IntoIterator for &'a mut FuturesUnordered<Fut>where
Fut: Unpin,
impl<'a, Fut> IntoIterator for &'a mut FuturesUnordered<Fut>where
Fut: Unpin,
sourcefn into_iter(self) -> <&'a mut FuturesUnordered<Fut> as IntoIterator>::IntoIter
fn into_iter(self) -> <&'a mut FuturesUnordered<Fut> as IntoIterator>::IntoIter
sourceimpl<Fut> IntoIterator for FuturesUnordered<Fut>where
Fut: Unpin,
impl<Fut> IntoIterator for FuturesUnordered<Fut>where
Fut: Unpin,
type Item = Fut
type Item = Fut
sourcefn into_iter(self) -> <FuturesUnordered<Fut> as IntoIterator>::IntoIter
fn into_iter(self) -> <FuturesUnordered<Fut> as IntoIterator>::IntoIter
sourceimpl LocalSpawn for FuturesUnordered<LocalFutureObj<'_, ()>>
impl LocalSpawn for FuturesUnordered<LocalFutureObj<'_, ()>>
sourcefn spawn_local_obj(
&self,
future_obj: LocalFutureObj<'static, ()>
) -> Result<(), SpawnError>
fn spawn_local_obj(
&self,
future_obj: LocalFutureObj<'static, ()>
) -> Result<(), SpawnError>
sourcefn status_local(&self) -> Result<(), SpawnError>
fn status_local(&self) -> Result<(), SpawnError>
sourceimpl Spawn for FuturesUnordered<FutureObj<'_, ()>>
impl Spawn for FuturesUnordered<FutureObj<'_, ()>>
sourceimpl<Fut> Stream for FuturesUnordered<Fut>where
Fut: Future,
impl<Fut> Stream for FuturesUnordered<Fut>where
Fut: Future,
sourcefn poll_next(
self: Pin<&mut FuturesUnordered<Fut>>,
cx: &mut Context<'_>
) -> Poll<Option<<FuturesUnordered<Fut> as Stream>::Item>>
fn poll_next(
self: Pin<&mut FuturesUnordered<Fut>>,
cx: &mut Context<'_>
) -> Poll<Option<<FuturesUnordered<Fut> as Stream>::Item>>
None
if the stream is exhausted. Read moreimpl<Fut> Send for FuturesUnordered<Fut>where
Fut: Send,
impl<Fut> Sync for FuturesUnordered<Fut>where
Fut: Sync,
impl<Fut> Unpin for FuturesUnordered<Fut>
Auto Trait Implementations
impl<Fut> !RefUnwindSafe for FuturesUnordered<Fut>
impl<Fut> !UnwindSafe for FuturesUnordered<Fut>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<Sp> LocalSpawnExt for Spwhere
Sp: LocalSpawn + ?Sized,
impl<Sp> LocalSpawnExt for Spwhere
Sp: LocalSpawn + ?Sized,
sourcefn spawn_local<Fut>(&self, future: Fut) -> Result<(), SpawnError>where
Fut: 'static + Future<Output = ()>,
fn spawn_local<Fut>(&self, future: Fut) -> Result<(), SpawnError>where
Fut: 'static + Future<Output = ()>,
()
to
completion. Read moresourcefn spawn_local_with_handle<Fut>(
&self,
future: Fut
) -> Result<RemoteHandle<<Fut as Future>::Output>, SpawnError>where
Fut: 'static + Future,
fn spawn_local_with_handle<Fut>(
&self,
future: Fut
) -> Result<RemoteHandle<<Fut as Future>::Output>, SpawnError>where
Fut: 'static + Future,
sourceimpl<Sp> SpawnExt for Spwhere
Sp: Spawn + ?Sized,
impl<Sp> SpawnExt for Spwhere
Sp: Spawn + ?Sized,
sourcefn spawn<Fut>(&self, future: Fut) -> Result<(), SpawnError>where
Fut: 'static + Future<Output = ()> + Send,
fn spawn<Fut>(&self, future: Fut) -> Result<(), SpawnError>where
Fut: 'static + Future<Output = ()> + Send,
()
to
completion. Read moresourcefn spawn_with_handle<Fut>(
&self,
future: Fut
) -> Result<RemoteHandle<<Fut as Future>::Output>, SpawnError>where
Fut: 'static + Future + Send,
<Fut as Future>::Output: Send,
fn spawn_with_handle<Fut>(
&self,
future: Fut
) -> Result<RemoteHandle<<Fut as Future>::Output>, SpawnError>where
Fut: 'static + Future + Send,
<Fut as Future>::Output: Send,
sourceimpl<T> StreamExt for Twhere
T: Stream + ?Sized,
impl<T> StreamExt for Twhere
T: Stream + ?Sized,
sourcefn next(&mut self) -> Next<'_, Self>ⓘNotable traits for Next<'_, St>impl<St> Future for Next<'_, St>where
St: Stream + Unpin + ?Sized, type Output = Option<<St as Stream>::Item>;
where
Self: Unpin,
fn next(&mut self) -> Next<'_, Self>ⓘNotable traits for Next<'_, St>impl<St> Future for Next<'_, St>where
St: Stream + Unpin + ?Sized, type Output = Option<<St as Stream>::Item>;
where
Self: Unpin,
St: Stream + Unpin + ?Sized, type Output = Option<<St as Stream>::Item>;
sourcefn into_future(self) -> StreamFuture<Self>ⓘNotable traits for StreamFuture<St>impl<St> Future for StreamFuture<St>where
St: Stream + Unpin, type Output = (Option<<St as Stream>::Item>, St);
where
Self: Unpin,
fn into_future(self) -> StreamFuture<Self>ⓘNotable traits for StreamFuture<St>impl<St> Future for StreamFuture<St>where
St: Stream + Unpin, type Output = (Option<<St as Stream>::Item>, St);
where
Self: Unpin,
St: Stream + Unpin, type Output = (Option<<St as Stream>::Item>, St);
sourcefn map<T, F>(self, f: F) -> Map<Self, F>where
F: FnMut(Self::Item) -> T,
fn map<T, F>(self, f: F) -> Map<Self, F>where
F: FnMut(Self::Item) -> T,
sourcefn enumerate(self) -> Enumerate<Self>
fn enumerate(self) -> Enumerate<Self>
sourcefn filter<Fut, F>(self, f: F) -> Filter<Self, Fut, F>where
F: FnMut(&Self::Item) -> Fut,
Fut: Future<Output = bool>,
fn filter<Fut, F>(self, f: F) -> Filter<Self, Fut, F>where
F: FnMut(&Self::Item) -> Fut,
Fut: Future<Output = bool>,
sourcefn filter_map<Fut, T, F>(self, f: F) -> FilterMap<Self, Fut, F>where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = Option<T>>,
fn filter_map<Fut, T, F>(self, f: F) -> FilterMap<Self, Fut, F>where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = Option<T>>,
sourcefn then<Fut, F>(self, f: F) -> Then<Self, Fut, F>where
F: FnMut(Self::Item) -> Fut,
Fut: Future,
fn then<Fut, F>(self, f: F) -> Then<Self, Fut, F>where
F: FnMut(Self::Item) -> Fut,
Fut: Future,
sourcefn collect<C>(self) -> Collect<Self, C>ⓘNotable traits for Collect<St, C>impl<St, C> Future for Collect<St, C>where
St: Stream,
C: Default + Extend<<St as Stream>::Item>, type Output = C;
where
C: Default + Extend<Self::Item>,
fn collect<C>(self) -> Collect<Self, C>ⓘNotable traits for Collect<St, C>impl<St, C> Future for Collect<St, C>where
St: Stream,
C: Default + Extend<<St as Stream>::Item>, type Output = C;
where
C: Default + Extend<Self::Item>,
St: Stream,
C: Default + Extend<<St as Stream>::Item>, type Output = C;
sourcefn unzip<A, B, FromA, FromB>(self) -> Unzip<Self, FromA, FromB>ⓘNotable traits for Unzip<St, FromA, FromB>impl<St, A, B, FromA, FromB> Future for Unzip<St, FromA, FromB>where
St: Stream<Item = (A, B)>,
FromA: Default + Extend<A>,
FromB: Default + Extend<B>, type Output = (FromA, FromB);
where
FromA: Default + Extend<A>,
FromB: Default + Extend<B>,
Self: Stream<Item = (A, B)>,
fn unzip<A, B, FromA, FromB>(self) -> Unzip<Self, FromA, FromB>ⓘNotable traits for Unzip<St, FromA, FromB>impl<St, A, B, FromA, FromB> Future for Unzip<St, FromA, FromB>where
St: Stream<Item = (A, B)>,
FromA: Default + Extend<A>,
FromB: Default + Extend<B>, type Output = (FromA, FromB);
where
FromA: Default + Extend<A>,
FromB: Default + Extend<B>,
Self: Stream<Item = (A, B)>,
St: Stream<Item = (A, B)>,
FromA: Default + Extend<A>,
FromB: Default + Extend<B>, type Output = (FromA, FromB);
sourcefn concat(self) -> Concat<Self>ⓘNotable traits for Concat<St>impl<St> Future for Concat<St>where
St: Stream,
<St as Stream>::Item: Extend<<<St as Stream>::Item as IntoIterator>::Item> + IntoIterator + Default, type Output = <St as Stream>::Item;
where
Self::Item: Extend<<Self::Item as IntoIterator>::Item> + IntoIterator + Default,
fn concat(self) -> Concat<Self>ⓘNotable traits for Concat<St>impl<St> Future for Concat<St>where
St: Stream,
<St as Stream>::Item: Extend<<<St as Stream>::Item as IntoIterator>::Item> + IntoIterator + Default, type Output = <St as Stream>::Item;
where
Self::Item: Extend<<Self::Item as IntoIterator>::Item> + IntoIterator + Default,
St: Stream,
<St as Stream>::Item: Extend<<<St as Stream>::Item as IntoIterator>::Item> + IntoIterator + Default, type Output = <St as Stream>::Item;
sourcefn count(self) -> Count<Self>ⓘNotable traits for Count<St>impl<St> Future for Count<St>where
St: Stream, type Output = usize;
fn count(self) -> Count<Self>ⓘNotable traits for Count<St>impl<St> Future for Count<St>where
St: Stream, type Output = usize;
St: Stream, type Output = usize;
sourcefn fold<T, Fut, F>(self, init: T, f: F) -> Fold<Self, Fut, T, F>ⓘNotable traits for Fold<St, Fut, T, F>impl<St, Fut, T, F> Future for Fold<St, Fut, T, F>where
St: Stream,
F: FnMut(T, <St as Stream>::Item) -> Fut,
Fut: Future<Output = T>, type Output = T;
where
F: FnMut(T, Self::Item) -> Fut,
Fut: Future<Output = T>,
fn fold<T, Fut, F>(self, init: T, f: F) -> Fold<Self, Fut, T, F>ⓘNotable traits for Fold<St, Fut, T, F>impl<St, Fut, T, F> Future for Fold<St, Fut, T, F>where
St: Stream,
F: FnMut(T, <St as Stream>::Item) -> Fut,
Fut: Future<Output = T>, type Output = T;
where
F: FnMut(T, Self::Item) -> Fut,
Fut: Future<Output = T>,
St: Stream,
F: FnMut(T, <St as Stream>::Item) -> Fut,
Fut: Future<Output = T>, type Output = T;
sourcefn any<Fut, F>(self, f: F) -> Any<Self, Fut, F>ⓘNotable traits for Any<St, Fut, F>impl<St, Fut, F> Future for Any<St, Fut, F>where
St: Stream,
F: FnMut(<St as Stream>::Item) -> Fut,
Fut: Future<Output = bool>, type Output = bool;
where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = bool>,
fn any<Fut, F>(self, f: F) -> Any<Self, Fut, F>ⓘNotable traits for Any<St, Fut, F>impl<St, Fut, F> Future for Any<St, Fut, F>where
St: Stream,
F: FnMut(<St as Stream>::Item) -> Fut,
Fut: Future<Output = bool>, type Output = bool;
where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = bool>,
St: Stream,
F: FnMut(<St as Stream>::Item) -> Fut,
Fut: Future<Output = bool>, type Output = bool;
true
if any element in stream satisfied a predicate. Read moresourcefn all<Fut, F>(self, f: F) -> All<Self, Fut, F>ⓘNotable traits for All<St, Fut, F>impl<St, Fut, F> Future for All<St, Fut, F>where
St: Stream,
F: FnMut(<St as Stream>::Item) -> Fut,
Fut: Future<Output = bool>, type Output = bool;
where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = bool>,
fn all<Fut, F>(self, f: F) -> All<Self, Fut, F>ⓘNotable traits for All<St, Fut, F>impl<St, Fut, F> Future for All<St, Fut, F>where
St: Stream,
F: FnMut(<St as Stream>::Item) -> Fut,
Fut: Future<Output = bool>, type Output = bool;
where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = bool>,
St: Stream,
F: FnMut(<St as Stream>::Item) -> Fut,
Fut: Future<Output = bool>, type Output = bool;
true
if all element in stream satisfied a predicate. Read moresourcefn flatten(self) -> Flatten<Self>where
Self::Item: Stream,
fn flatten(self) -> Flatten<Self>where
Self::Item: Stream,
sourcefn flatten_unordered(
self,
limit: impl Into<Option<usize>>
) -> FlattenUnorderedWithFlowController<Self, ()>where
Self::Item: Stream + Unpin,
fn flatten_unordered(
self,
limit: impl Into<Option<usize>>
) -> FlattenUnorderedWithFlowController<Self, ()>where
Self::Item: Stream + Unpin,
sourcefn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where
F: FnMut(Self::Item) -> U,
U: Stream,
fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where
F: FnMut(Self::Item) -> U,
U: Stream,
sourcefn flat_map_unordered<U, F>(
self,
limit: impl Into<Option<usize>>,
f: F
) -> FlatMapUnordered<Self, U, F>where
U: Stream + Unpin,
F: FnMut(Self::Item) -> U,
fn flat_map_unordered<U, F>(
self,
limit: impl Into<Option<usize>>,
f: F
) -> FlatMapUnordered<Self, U, F>where
U: Stream + Unpin,
F: FnMut(Self::Item) -> U,
StreamExt::map
but flattens nested Stream
s
and polls them concurrently, yielding items in any order, as they made
available. Read moresourcefn scan<S, B, Fut, F>(self, initial_state: S, f: F) -> Scan<Self, S, Fut, F>where
F: FnMut(&mut S, Self::Item) -> Fut,
Fut: Future<Output = Option<B>>,
fn scan<S, B, Fut, F>(self, initial_state: S, f: F) -> Scan<Self, S, Fut, F>where
F: FnMut(&mut S, Self::Item) -> Fut,
Fut: Future<Output = Option<B>>,
StreamExt::fold
that holds internal state
and produces a new stream. Read moresourcefn skip_while<Fut, F>(self, f: F) -> SkipWhile<Self, Fut, F>where
F: FnMut(&Self::Item) -> Fut,
Fut: Future<Output = bool>,
fn skip_while<Fut, F>(self, f: F) -> SkipWhile<Self, Fut, F>where
F: FnMut(&Self::Item) -> Fut,
Fut: Future<Output = bool>,
true
. Read moresourcefn take_while<Fut, F>(self, f: F) -> TakeWhile<Self, Fut, F>where
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>,
true
. Read moresourcefn take_until<Fut>(self, fut: Fut) -> TakeUntil<Self, Fut>where
Fut: Future,
fn take_until<Fut>(self, fut: Fut) -> TakeUntil<Self, Fut>where
Fut: Future,
sourcefn for_each<Fut, F>(self, f: F) -> ForEach<Self, Fut, F>ⓘNotable traits for ForEach<St, Fut, F>impl<St, Fut, F> Future for ForEach<St, Fut, F>where
St: Stream,
F: FnMut(<St as Stream>::Item) -> Fut,
Fut: Future<Output = ()>, type Output = ();
where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = ()>,
fn for_each<Fut, F>(self, f: F) -> ForEach<Self, Fut, F>ⓘNotable traits for ForEach<St, Fut, F>impl<St, Fut, F> Future for ForEach<St, Fut, F>where
St: Stream,
F: FnMut(<St as Stream>::Item) -> Fut,
Fut: Future<Output = ()>, type Output = ();
where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = ()>,
St: Stream,
F: FnMut(<St as Stream>::Item) -> Fut,
Fut: Future<Output = ()>, type Output = ();
sourcefn for_each_concurrent<Fut, F>(
self,
limit: impl Into<Option<usize>>,
f: F
) -> ForEachConcurrent<Self, Fut, F>ⓘNotable traits for ForEachConcurrent<St, Fut, F>impl<St, Fut, F> Future for ForEachConcurrent<St, Fut, F>where
St: Stream,
F: FnMut(<St as Stream>::Item) -> Fut,
Fut: Future<Output = ()>, type Output = ();
where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = ()>,
fn for_each_concurrent<Fut, F>(
self,
limit: impl Into<Option<usize>>,
f: F
) -> ForEachConcurrent<Self, Fut, F>ⓘNotable traits for ForEachConcurrent<St, Fut, F>impl<St, Fut, F> Future for ForEachConcurrent<St, Fut, F>where
St: Stream,
F: FnMut(<St as Stream>::Item) -> Fut,
Fut: Future<Output = ()>, type Output = ();
where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = ()>,
St: Stream,
F: FnMut(<St as Stream>::Item) -> Fut,
Fut: Future<Output = ()>, type Output = ();
sourcefn take(self, n: usize) -> Take<Self>
fn take(self, n: usize) -> Take<Self>
n
items of the underlying stream. Read moresourcefn skip(self, n: usize) -> Skip<Self>
fn skip(self, n: usize) -> Skip<Self>
n
items of the underlying stream. Read moresourcefn catch_unwind(self) -> CatchUnwind<Self>where
Self: UnwindSafe,
fn catch_unwind(self) -> CatchUnwind<Self>where
Self: UnwindSafe,
sourcefn boxed<'a>(
self
) -> Pin<Box<dyn Stream<Item = Self::Item> + Send + 'a, Global>>ⓘNotable traits for Pin<P>impl<P> Future for Pin<P>where
P: DerefMut,
<P as Deref>::Target: Future, type Output = <<P as Deref>::Target as Future>::Output;
where
Self: 'a + Send,
fn boxed<'a>(
self
) -> Pin<Box<dyn Stream<Item = Self::Item> + Send + 'a, Global>>ⓘNotable traits for Pin<P>impl<P> Future for Pin<P>where
P: DerefMut,
<P as Deref>::Target: Future, type Output = <<P as Deref>::Target as Future>::Output;
where
Self: 'a + Send,
P: DerefMut,
<P as Deref>::Target: Future, type Output = <<P as Deref>::Target as Future>::Output;
sourcefn boxed_local<'a>(self) -> Pin<Box<dyn Stream<Item = Self::Item> + 'a, Global>>ⓘNotable traits for Pin<P>impl<P> Future for Pin<P>where
P: DerefMut,
<P as Deref>::Target: Future, type Output = <<P as Deref>::Target as Future>::Output;
where
Self: 'a,
fn boxed_local<'a>(self) -> Pin<Box<dyn Stream<Item = Self::Item> + 'a, Global>>ⓘNotable traits for Pin<P>impl<P> Future for Pin<P>where
P: DerefMut,
<P as Deref>::Target: Future, type Output = <<P as Deref>::Target as Future>::Output;
where
Self: 'a,
P: DerefMut,
<P as Deref>::Target: Future, type Output = <<P as Deref>::Target as Future>::Output;
sourcefn buffered(self, n: usize) -> Buffered<Self>where
Self::Item: Future,
fn buffered(self, n: usize) -> Buffered<Self>where
Self::Item: Future,
sourcefn buffer_unordered(self, n: usize) -> BufferUnordered<Self>where
Self::Item: Future,
fn buffer_unordered(self, n: usize) -> BufferUnordered<Self>where
Self::Item: Future,
sourcefn zip<St>(self, other: St) -> Zip<Self, St>where
St: Stream,
fn zip<St>(self, other: St) -> Zip<Self, St>where
St: Stream,
sourcefn chain<St>(self, other: St) -> Chain<Self, St>where
St: Stream<Item = Self::Item>,
fn chain<St>(self, other: St) -> Chain<Self, St>where
St: Stream<Item = Self::Item>,
sourcefn peekable(self) -> Peekable<Self>
fn peekable(self) -> Peekable<Self>
peek
method. Read moresourcefn chunks(self, capacity: usize) -> Chunks<Self>
fn chunks(self, capacity: usize) -> Chunks<Self>
sourcefn ready_chunks(self, capacity: usize) -> ReadyChunks<Self>
fn ready_chunks(self, capacity: usize) -> ReadyChunks<Self>
sourcefn forward<S>(self, sink: S) -> Forward<Self, S>ⓘNotable traits for Forward<St, Si>impl<St, Si> Future for Forward<St, Si>where
Forward<St, Si, <St as TryStream>::Ok>: Future,
St: TryStream, type Output = <Forward<St, Si, <St as TryStream>::Ok> as Future>::Output;
where
S: Sink<Self::Ok, Error = Self::Error>,
Self: TryStream,
fn forward<S>(self, sink: S) -> Forward<Self, S>ⓘNotable traits for Forward<St, Si>impl<St, Si> Future for Forward<St, Si>where
Forward<St, Si, <St as TryStream>::Ok>: Future,
St: TryStream, type Output = <Forward<St, Si, <St as TryStream>::Ok> as Future>::Output;
where
S: Sink<Self::Ok, Error = Self::Error>,
Self: TryStream,
Forward<St, Si, <St as TryStream>::Ok>: Future,
St: TryStream, type Output = <Forward<St, Si, <St as TryStream>::Ok> as Future>::Output;
sourcefn split<Item>(self) -> (SplitSink<Self, Item>, SplitStream<Self>)where
Self: Sink<Item>,
fn split<Item>(self) -> (SplitSink<Self, Item>, SplitStream<Self>)where
Self: Sink<Item>,
sourcefn inspect<F>(self, f: F) -> Inspect<Self, F>where
F: FnMut(&Self::Item),
fn inspect<F>(self, f: F) -> Inspect<Self, F>where
F: FnMut(&Self::Item),
sourcefn left_stream<B>(self) -> Either<Self, B>ⓘNotable traits for Either<A, B>impl<A, B> Future for Either<A, B>where
A: Future,
B: Future<Output = <A as Future>::Output>, type Output = <A as Future>::Output;
where
B: Stream<Item = Self::Item>,
fn left_stream<B>(self) -> Either<Self, B>ⓘNotable traits for Either<A, B>impl<A, B> Future for Either<A, B>where
A: Future,
B: Future<Output = <A as Future>::Output>, type Output = <A as Future>::Output;
where
B: Stream<Item = Self::Item>,
A: Future,
B: Future<Output = <A as Future>::Output>, type Output = <A as Future>::Output;
sourcefn right_stream<B>(self) -> Either<B, Self>ⓘNotable traits for Either<A, B>impl<A, B> Future for Either<A, B>where
A: Future,
B: Future<Output = <A as Future>::Output>, type Output = <A as Future>::Output;
where
B: Stream<Item = Self::Item>,
fn right_stream<B>(self) -> Either<B, Self>ⓘNotable traits for Either<A, B>impl<A, B> Future for Either<A, B>where
A: Future,
B: Future<Output = <A as Future>::Output>, type Output = <A as Future>::Output;
where
B: Stream<Item = Self::Item>,
A: Future,
B: Future<Output = <A as Future>::Output>, type Output = <A as Future>::Output;
sourcefn poll_next_unpin(&mut self, cx: &mut Context<'_>) -> Poll<Option<Self::Item>>where
Self: Unpin,
fn poll_next_unpin(&mut self, cx: &mut Context<'_>) -> Poll<Option<Self::Item>>where
Self: Unpin,
sourcefn select_next_some(&mut self) -> SelectNextSome<'_, Self>ⓘNotable traits for SelectNextSome<'_, St>impl<St> Future for SelectNextSome<'_, St>where
St: FusedStream + Unpin + ?Sized, type Output = <St as Stream>::Item;
where
Self: Unpin + FusedStream,
fn select_next_some(&mut self) -> SelectNextSome<'_, Self>ⓘNotable traits for SelectNextSome<'_, St>impl<St> Future for SelectNextSome<'_, St>where
St: FusedStream + Unpin + ?Sized, type Output = <St as Stream>::Item;
where
Self: Unpin + FusedStream,
St: FusedStream + Unpin + ?Sized, type Output = <St as Stream>::Item;
sourceimpl<S, T, E> TryStream for Swhere
S: Stream<Item = Result<T, E>> + ?Sized,
impl<S, T, E> TryStream for Swhere
S: Stream<Item = Result<T, E>> + ?Sized,
sourceimpl<S> TryStreamExt for Swhere
S: TryStream + ?Sized,
impl<S> TryStreamExt for Swhere
S: TryStream + ?Sized,
sourcefn err_into<E>(self) -> ErrInto<Self, E>where
Self::Error: Into<E>,
fn err_into<E>(self) -> ErrInto<Self, E>where
Self::Error: Into<E>,
sourcefn map_ok<T, F>(self, f: F) -> MapOk<Self, F>where
F: FnMut(Self::Ok) -> T,
fn map_ok<T, F>(self, f: F) -> MapOk<Self, F>where
F: FnMut(Self::Ok) -> T,
sourcefn map_err<E, F>(self, f: F) -> MapErr<Self, F>where
F: FnMut(Self::Error) -> E,
fn map_err<E, F>(self, f: F) -> MapErr<Self, F>where
F: FnMut(Self::Error) -> E,
sourcefn and_then<Fut, F>(self, f: F) -> AndThen<Self, Fut, F>where
F: FnMut(Self::Ok) -> Fut,
Fut: TryFuture<Error = Self::Error>,
fn and_then<Fut, F>(self, f: F) -> AndThen<Self, Fut, F>where
F: FnMut(Self::Ok) -> Fut,
Fut: TryFuture<Error = Self::Error>,
f
. Read moresourcefn or_else<Fut, F>(self, f: F) -> OrElse<Self, Fut, F>where
F: FnMut(Self::Error) -> Fut,
Fut: TryFuture<Ok = Self::Ok>,
fn or_else<Fut, F>(self, f: F) -> OrElse<Self, Fut, F>where
F: FnMut(Self::Error) -> Fut,
Fut: TryFuture<Ok = Self::Ok>,
f
. Read moresourcefn inspect_ok<F>(self, f: F) -> InspectOk<Self, F>where
F: FnMut(&Self::Ok),
fn inspect_ok<F>(self, f: F) -> InspectOk<Self, F>where
F: FnMut(&Self::Ok),
sourcefn inspect_err<F>(self, f: F) -> InspectErr<Self, F>where
F: FnMut(&Self::Error),
fn inspect_err<F>(self, f: F) -> InspectErr<Self, F>where
F: FnMut(&Self::Error),
sourcefn into_stream(self) -> IntoStream<Self>
fn into_stream(self) -> IntoStream<Self>
sourcefn try_next(&mut self) -> TryNext<'_, Self>ⓘNotable traits for TryNext<'_, St>impl<St> Future for TryNext<'_, St>where
St: TryStream + Unpin + ?Sized, type Output = Result<Option<<St as TryStream>::Ok>, <St as TryStream>::Error>;
where
Self: Unpin,
fn try_next(&mut self) -> TryNext<'_, Self>ⓘNotable traits for TryNext<'_, St>impl<St> Future for TryNext<'_, St>where
St: TryStream + Unpin + ?Sized, type Output = Result<Option<<St as TryStream>::Ok>, <St as TryStream>::Error>;
where
Self: Unpin,
St: TryStream + Unpin + ?Sized, type Output = Result<Option<<St as TryStream>::Ok>, <St as TryStream>::Error>;
sourcefn try_for_each<Fut, F>(self, f: F) -> TryForEach<Self, Fut, F>ⓘNotable traits for TryForEach<St, Fut, F>impl<St, Fut, F> Future for TryForEach<St, Fut, F>where
St: TryStream,
F: FnMut(<St as TryStream>::Ok) -> Fut,
Fut: TryFuture<Ok = (), Error = <St as TryStream>::Error>, type Output = Result<(), <St as TryStream>::Error>;
where
F: FnMut(Self::Ok) -> Fut,
Fut: TryFuture<Ok = (), Error = Self::Error>,
fn try_for_each<Fut, F>(self, f: F) -> TryForEach<Self, Fut, F>ⓘNotable traits for TryForEach<St, Fut, F>impl<St, Fut, F> Future for TryForEach<St, Fut, F>where
St: TryStream,
F: FnMut(<St as TryStream>::Ok) -> Fut,
Fut: TryFuture<Ok = (), Error = <St as TryStream>::Error>, type Output = Result<(), <St as TryStream>::Error>;
where
F: FnMut(Self::Ok) -> Fut,
Fut: TryFuture<Ok = (), Error = Self::Error>,
St: TryStream,
F: FnMut(<St as TryStream>::Ok) -> Fut,
Fut: TryFuture<Ok = (), Error = <St as TryStream>::Error>, type Output = Result<(), <St as TryStream>::Error>;
sourcefn 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>,
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>,
true
. Read moresourcefn try_take_while<Fut, F>(self, f: F) -> TryTakeWhile<Self, Fut, F>where
F: FnMut(&Self::Ok) -> Fut,
Fut: TryFuture<Ok = bool, Error = Self::Error>,
fn try_take_while<Fut, F>(self, f: F) -> TryTakeWhile<Self, Fut, F>where
F: FnMut(&Self::Ok) -> Fut,
Fut: TryFuture<Ok = bool, Error = Self::Error>,
true
. Read moresourcefn try_for_each_concurrent<Fut, F>(
self,
limit: impl Into<Option<usize>>,
f: F
) -> TryForEachConcurrent<Self, Fut, F>ⓘNotable traits for TryForEachConcurrent<St, Fut, F>impl<St, Fut, F> Future for TryForEachConcurrent<St, Fut, F>where
St: TryStream,
F: FnMut(<St as TryStream>::Ok) -> Fut,
Fut: Future<Output = Result<(), <St as TryStream>::Error>>, type Output = Result<(), <St as TryStream>::Error>;
where
F: FnMut(Self::Ok) -> Fut,
Fut: Future<Output = Result<(), Self::Error>>,
fn try_for_each_concurrent<Fut, F>(
self,
limit: impl Into<Option<usize>>,
f: F
) -> TryForEachConcurrent<Self, Fut, F>ⓘNotable traits for TryForEachConcurrent<St, Fut, F>impl<St, Fut, F> Future for TryForEachConcurrent<St, Fut, F>where
St: TryStream,
F: FnMut(<St as TryStream>::Ok) -> Fut,
Fut: Future<Output = Result<(), <St as TryStream>::Error>>, type Output = Result<(), <St as TryStream>::Error>;
where
F: FnMut(Self::Ok) -> Fut,
Fut: Future<Output = Result<(), Self::Error>>,
St: TryStream,
F: FnMut(<St as TryStream>::Ok) -> Fut,
Fut: Future<Output = Result<(), <St as TryStream>::Error>>, type Output = Result<(), <St as TryStream>::Error>;
sourcefn try_collect<C>(self) -> TryCollect<Self, C>ⓘNotable traits for TryCollect<St, C>impl<St, C> Future for TryCollect<St, C>where
St: TryStream,
C: Default + Extend<<St as TryStream>::Ok>, type Output = Result<C, <St as TryStream>::Error>;
where
C: Default + Extend<Self::Ok>,
fn try_collect<C>(self) -> TryCollect<Self, C>ⓘNotable traits for TryCollect<St, C>impl<St, C> Future for TryCollect<St, C>where
St: TryStream,
C: Default + Extend<<St as TryStream>::Ok>, type Output = Result<C, <St as TryStream>::Error>;
where
C: Default + Extend<Self::Ok>,
St: TryStream,
C: Default + Extend<<St as TryStream>::Ok>, type Output = Result<C, <St as TryStream>::Error>;
sourcefn try_chunks(self, capacity: usize) -> TryChunks<Self>
fn try_chunks(self, capacity: usize) -> TryChunks<Self>
sourcefn try_filter<Fut, F>(self, f: F) -> TryFilter<Self, Fut, F>where
Fut: Future<Output = bool>,
F: FnMut(&Self::Ok) -> Fut,
fn try_filter<Fut, F>(self, f: F) -> TryFilter<Self, Fut, F>where
Fut: Future<Output = bool>,
F: FnMut(&Self::Ok) -> Fut,
sourcefn try_filter_map<Fut, F, T>(self, f: F) -> TryFilterMap<Self, Fut, F>where
Fut: TryFuture<Ok = Option<T>, Error = Self::Error>,
F: FnMut(Self::Ok) -> Fut,
fn try_filter_map<Fut, F, T>(self, f: F) -> TryFilterMap<Self, Fut, F>where
Fut: TryFuture<Ok = Option<T>, Error = Self::Error>,
F: FnMut(Self::Ok) -> Fut,
sourcefn try_flatten_unordered(
self,
limit: impl Into<Option<usize>>
) -> TryFlattenUnordered<Self>where
Self::Ok: TryStream + Unpin,
<Self::Ok as TryStream>::Error: From<Self::Error>,
fn try_flatten_unordered(
self,
limit: impl Into<Option<usize>>
) -> TryFlattenUnordered<Self>where
Self::Ok: TryStream + Unpin,
<Self::Ok as TryStream>::Error: From<Self::Error>,
sourcefn try_flatten(self) -> TryFlatten<Self>where
Self::Ok: TryStream,
<Self::Ok as TryStream>::Error: From<Self::Error>,
fn try_flatten(self) -> TryFlatten<Self>where
Self::Ok: TryStream,
<Self::Ok as TryStream>::Error: From<Self::Error>,
sourcefn try_fold<T, Fut, F>(self, init: T, f: F) -> TryFold<Self, Fut, T, F>ⓘNotable traits for TryFold<St, Fut, T, F>impl<St, Fut, T, F> Future for TryFold<St, Fut, T, F>where
St: TryStream,
F: FnMut(T, <St as TryStream>::Ok) -> Fut,
Fut: TryFuture<Ok = T, Error = <St as TryStream>::Error>, type Output = Result<T, <St as TryStream>::Error>;
where
F: FnMut(T, Self::Ok) -> Fut,
Fut: TryFuture<Ok = T, Error = Self::Error>,
fn try_fold<T, Fut, F>(self, init: T, f: F) -> TryFold<Self, Fut, T, F>ⓘNotable traits for TryFold<St, Fut, T, F>impl<St, Fut, T, F> Future for TryFold<St, Fut, T, F>where
St: TryStream,
F: FnMut(T, <St as TryStream>::Ok) -> Fut,
Fut: TryFuture<Ok = T, Error = <St as TryStream>::Error>, type Output = Result<T, <St as TryStream>::Error>;
where
F: FnMut(T, Self::Ok) -> Fut,
Fut: TryFuture<Ok = T, Error = Self::Error>,
St: TryStream,
F: FnMut(T, <St as TryStream>::Ok) -> Fut,
Fut: TryFuture<Ok = T, Error = <St as TryStream>::Error>, type Output = Result<T, <St as TryStream>::Error>;
sourcefn try_concat(self) -> TryConcat<Self>ⓘNotable traits for TryConcat<St>impl<St> Future for TryConcat<St>where
St: TryStream,
<St as TryStream>::Ok: Extend<<<St as TryStream>::Ok as IntoIterator>::Item> + IntoIterator + Default, type Output = Result<<St as TryStream>::Ok, <St as TryStream>::Error>;
where
Self::Ok: Extend<<Self::Ok as IntoIterator>::Item> + IntoIterator + Default,
fn try_concat(self) -> TryConcat<Self>ⓘNotable traits for TryConcat<St>impl<St> Future for TryConcat<St>where
St: TryStream,
<St as TryStream>::Ok: Extend<<<St as TryStream>::Ok as IntoIterator>::Item> + IntoIterator + Default, type Output = Result<<St as TryStream>::Ok, <St as TryStream>::Error>;
where
Self::Ok: Extend<<Self::Ok as IntoIterator>::Item> + IntoIterator + Default,
St: TryStream,
<St as TryStream>::Ok: Extend<<<St as TryStream>::Ok as IntoIterator>::Item> + IntoIterator + Default, type Output = Result<<St as TryStream>::Ok, <St as TryStream>::Error>;
sourcefn try_buffer_unordered(self, n: usize) -> TryBufferUnordered<Self>where
Self::Ok: TryFuture<Error = Self::Error>,
fn try_buffer_unordered(self, n: usize) -> TryBufferUnordered<Self>where
Self::Ok: TryFuture<Error = Self::Error>,
sourcefn try_buffered(self, n: usize) -> TryBuffered<Self>where
Self::Ok: TryFuture<Error = Self::Error>,
fn try_buffered(self, n: usize) -> TryBuffered<Self>where
Self::Ok: TryFuture<Error = Self::Error>,
sourcefn try_poll_next_unpin(
&mut self,
cx: &mut Context<'_>
) -> Poll<Option<Result<Self::Ok, Self::Error>>>where
Self: Unpin,
fn try_poll_next_unpin(
&mut self,
cx: &mut Context<'_>
) -> Poll<Option<Result<Self::Ok, Self::Error>>>where
Self: Unpin,
sourcefn into_async_read(self) -> IntoAsyncRead<Self>where
Self: TryStreamExt<Error = Error>,
Self::Ok: AsRef<[u8]>,
fn into_async_read(self) -> IntoAsyncRead<Self>where
Self: TryStreamExt<Error = Error>,
Self::Ok: AsRef<[u8]>,
AsyncBufRead
. Read more