Crate futures_util
source · [−]Expand description
Combinators and utilities for working with Future
s, Stream
s, Sink
s,
and the AsyncRead
and AsyncWrite
traits.
Re-exports
pub use crate::future::Future;
pub use crate::future::FutureExt;
pub use crate::future::TryFuture;
pub use crate::future::TryFutureExt;
pub use crate::stream::Stream;
pub use crate::stream::StreamExt;
pub use crate::stream::TryStream;
pub use crate::stream::TryStreamExt;
pub use crate::sink::Sink;
pub use crate::sink::SinkExt;
pub use crate::io::AsyncBufRead;
pub use crate::io::AsyncBufReadExt;
pub use crate::io::AsyncRead;
pub use crate::io::AsyncReadExt;
pub use crate::io::AsyncSeek;
pub use crate::io::AsyncSeekExt;
pub use crate::io::AsyncWrite;
pub use crate::io::AsyncWriteExt;
Modules
Asynchronous values.
Asynchronous I/O.
Futures-powered synchronization primitives.
This module contains the
Never
type.Asynchronous sinks.
Asynchronous streams.
Tools for working with tasks.
Macros
Polls multiple futures simultaneously, returning a tuple
of all results once complete.
A macro which yields to the event loop once.
Pins a value on the stack.
A macro which returns the result of polling a future once within the
current
async
context.Extracts the successful type of a
Poll<T>
.Polls multiple futures and streams simultaneously, executing the branch
for the future that finishes first. If multiple futures are ready,
one will be pseudo-randomly selected at runtime. Futures directly
passed to
select!
must be Unpin
and implement FusedFuture
.Polls multiple futures and streams simultaneously, executing the branch
for the future that finishes first. Unlike
select!
, if multiple futures are ready,
one will be selected in order of declaration. Futures directly
passed to select_biased!
must be Unpin
and implement FusedFuture
.Combines several streams, all producing the same
Item
type, into one stream.
This is similar to select_all
but does not require the streams to all be the same type.
It also keeps the streams inline, and does not require Box<dyn Stream>
s to be allocated.
Streams passed to this macro must be Unpin
.