Struct futures_util::stream::FuturesUnordered [−][src]
#[must_use = "streams do nothing unless polled"]pub struct FuturesUnordered<Fut> { /* fields omitted */ }
Expand description
A set of futures which may complete in any 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 collecting an
iterator of futures into a FuturesUnordered, or by
pushing 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
impl<Fut> FuturesUnordered<Fut>[src]
impl<Fut> FuturesUnordered<Fut>[src]pub fn new() -> Self[src]
pub fn new() -> Self[src]Constructs a new, empty FuturesUnordered.
The returned FuturesUnordered does not contain any futures.
In this state, FuturesUnordered::poll_next will
return Poll::Ready(None).
pub fn len(&self) -> usize[src]
pub fn len(&self) -> usize[src]Returns the number of futures contained in the set.
This represents the total number of in-flight futures.
pub fn push(&self, future: Fut)[src]
pub fn push(&self, future: Fut)[src]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.
pub fn iter(&self) -> Iter<'_, Fut>ⓘ where
Fut: Unpin, [src]
pub fn iter(&self) -> Iter<'_, Fut>ⓘ where
Fut: Unpin, [src]Returns an iterator that allows inspecting each future in the set.
pub fn iter_pin_ref(self: Pin<&Self>) -> IterPinRef<'_, Fut>ⓘNotable traits for IterPinRef<'a, Fut>
impl<'a, Fut> Iterator for IterPinRef<'a, Fut> type Item = Pin<&'a Fut>;[src]
pub fn iter_pin_ref(self: Pin<&Self>) -> IterPinRef<'_, Fut>ⓘNotable traits for IterPinRef<'a, Fut>
impl<'a, Fut> Iterator for IterPinRef<'a, Fut> type Item = Pin<&'a Fut>;[src]Returns an iterator that allows inspecting each future in the set.
pub fn iter_mut(&mut self) -> IterMut<'_, Fut>ⓘ where
Fut: Unpin, [src]
pub fn iter_mut(&mut self) -> IterMut<'_, Fut>ⓘ where
Fut: Unpin, [src]Returns an iterator that allows modifying each future in the set.
pub fn iter_pin_mut(self: Pin<&mut Self>) -> IterPinMut<'_, Fut>ⓘNotable traits for IterPinMut<'a, Fut>
impl<'a, Fut> Iterator for IterPinMut<'a, Fut> type Item = Pin<&'a mut Fut>;[src]
pub fn iter_pin_mut(self: Pin<&mut Self>) -> IterPinMut<'_, Fut>ⓘNotable traits for IterPinMut<'a, Fut>
impl<'a, Fut> Iterator for IterPinMut<'a, Fut> type Item = Pin<&'a mut Fut>;[src]Returns an iterator that allows modifying each future in the set.
impl<Fut> FuturesUnordered<Fut>[src]
impl<Fut> FuturesUnordered<Fut>[src]Trait Implementations
impl<Fut> Debug for FuturesUnordered<Fut>[src]
impl<Fut> Debug for FuturesUnordered<Fut>[src]impl<Fut> Default for FuturesUnordered<Fut>[src]
impl<Fut> Default for FuturesUnordered<Fut>[src]impl<Fut> Drop for FuturesUnordered<Fut>[src]
impl<Fut> Drop for FuturesUnordered<Fut>[src]impl<Fut> Extend<Fut> for FuturesUnordered<Fut>[src]
impl<Fut> Extend<Fut> for FuturesUnordered<Fut>[src]fn extend<I>(&mut self, iter: I) where
I: IntoIterator<Item = Fut>, [src]
fn extend<I>(&mut self, iter: I) where
I: IntoIterator<Item = Fut>, [src]Extends a collection with the contents of an iterator. Read more
fn extend_one(&mut self, item: A)[src]
fn extend_one(&mut self, item: A)[src]extend_one)Extends a collection with exactly one element.
fn extend_reserve(&mut self, additional: usize)[src]
fn extend_reserve(&mut self, additional: usize)[src]extend_one)Reserves capacity in a collection for the given number of additional elements. Read more
impl<Fut> FromIterator<Fut> for FuturesUnordered<Fut>[src]
impl<Fut> FromIterator<Fut> for FuturesUnordered<Fut>[src]fn from_iter<I>(iter: I) -> Self where
I: IntoIterator<Item = Fut>, [src]
fn from_iter<I>(iter: I) -> Self where
I: IntoIterator<Item = Fut>, [src]Creates a value from an iterator. Read more
impl<Fut: Future> FusedStream for FuturesUnordered<Fut>[src]
impl<Fut: Future> FusedStream for FuturesUnordered<Fut>[src]fn is_terminated(&self) -> bool[src]
fn is_terminated(&self) -> bool[src]Returns true if the stream should no longer be polled.
impl<'a, Fut: Unpin> IntoIterator for &'a FuturesUnordered<Fut>[src]
impl<'a, Fut: Unpin> IntoIterator for &'a FuturesUnordered<Fut>[src]impl<'a, Fut: Unpin> IntoIterator for &'a mut FuturesUnordered<Fut>[src]
impl<'a, Fut: Unpin> IntoIterator for &'a mut FuturesUnordered<Fut>[src]impl<Fut: Unpin> IntoIterator for FuturesUnordered<Fut>[src]
impl<Fut: Unpin> IntoIterator for FuturesUnordered<Fut>[src]impl LocalSpawn for FuturesUnordered<LocalFutureObj<'_, ()>>[src]
impl LocalSpawn for FuturesUnordered<LocalFutureObj<'_, ()>>[src]fn spawn_local_obj(
&self,
future_obj: LocalFutureObj<'static, ()>
) -> Result<(), SpawnError>[src]
fn spawn_local_obj(
&self,
future_obj: LocalFutureObj<'static, ()>
) -> Result<(), SpawnError>[src]Spawns a future that will be run to completion. Read more
fn status_local(&self) -> Result<(), SpawnError>[src]
fn status_local(&self) -> Result<(), SpawnError>[src]Determines whether the executor is able to spawn new tasks. Read more
impl Spawn for FuturesUnordered<FutureObj<'_, ()>>[src]
impl Spawn for FuturesUnordered<FutureObj<'_, ()>>[src]impl<Fut: Future> Stream for FuturesUnordered<Fut>[src]
impl<Fut: Future> Stream for FuturesUnordered<Fut>[src]impl<Fut: Send> Send for FuturesUnordered<Fut>[src]
impl<Fut: Sync> Sync for FuturesUnordered<Fut>[src]
impl<Fut> Unpin for FuturesUnordered<Fut>[src]
Auto Trait Implementations
impl<Fut> !RefUnwindSafe for FuturesUnordered<Fut>
impl<Fut> !UnwindSafe for FuturesUnordered<Fut>
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more