Module futures_util::task
source · [−]Expand description
Tools for working with tasks.
This module contains:
Spawn
, a trait for spawning new tasks.- [
Context
], a context of an asynchronous task, including a handle for waking up the task. - [
Waker
], a handle for waking up a task.
The remaining types and traits in the module are used for implementing executors or dealing with synchronization issues around task wakeup.
Re-exports
pub use core::task::Context;
pub use core::task::Poll;
pub use core::task::RawWaker;
pub use core::task::RawWakerVTable;
pub use core::task::Waker;
Structs
A synchronization primitive for task wakeup.
A custom trait object for polling futures, roughly akin to
Box<dyn Future<Output = T> + Send + 'a>
.A custom trait object for polling futures, roughly akin to
Box<dyn Future<Output = T> + 'a>
.An error that occurred during spawning.
A [
Waker
] that is only valid for a given lifetime.Traits
A way of waking up a specific task.
Extension trait for
LocalSpawn
.The
Spawn
trait allows for pushing futures onto an executor that will
run them to completion.Extension trait for
Spawn
.A custom implementation of a future trait object for
FutureObj
, providing
a vtable with drop support.Functions
Create a new [
Waker
] which does
nothing when wake()
is called on it.Get a static reference to a [
Waker
] which
does nothing when wake()
is called on it.Creates a [
Waker
] from an Arc<impl ArcWake>
.Creates a reference to a [
Waker
] from a reference to Arc<impl ArcWake>
.