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
.