Crate futures_util

Source
Expand description

Combinators and utilities for working with Futures, Streams, Sinks, 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ยง

abortable ๐Ÿ”’
async_await ๐Ÿ”’
Await
fns ๐Ÿ”’
future
Asynchronous values.
io
Asynchronous I/O.
lock
Futures-powered synchronization primitives.
never
This module contains the Never type.
sink
Asynchronous sinks.
stream
Asynchronous streams.
task
Tools for working with tasks.
unfold_state ๐Ÿ”’

Macrosยง

delegate_access_inner ๐Ÿ”’
delegate_all ๐Ÿ”’
delegate_async_buf_read ๐Ÿ”’
delegate_async_read ๐Ÿ”’
delegate_async_write ๐Ÿ”’
delegate_future ๐Ÿ”’
delegate_sink ๐Ÿ”’
delegate_stream ๐Ÿ”’
join
Polls multiple futures simultaneously, returning a tuple of all results once complete.
pending
A macro which yields to the event loop once.
pin_mut
Pins a value on the stack.
poll
A macro which returns the result of polling a future once within the current async context.
ready
Extracts the successful type of a Poll<T>.
select
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.
select_biased
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.
stream_select
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.
try_join
Polls multiple futures simultaneously, resolving to a Result containing either a tuple of the successful outputs or an error.