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 whenwake()
is called on it. - Get a static reference to a [
Waker
] which does nothing whenwake()
is called on it. - Creates a [
Waker
] from anArc<impl ArcWake>
. - Creates a reference to a [
Waker
] from a reference toArc<impl ArcWake>
.