[][src]Module futures::task

Tools for working with tasks.

This module contains:

The remaining types and traits in the module are used for implementing executors or dealing with synchronization issues around task wakeup.

Structs

AtomicWaker

A synchronization primitive for task wakeup.

LocalWaker[
Experimental
]

A LocalWaker is a handle for waking up a task by notifying its executor that it is ready to be run.

LocalWakerRef

A LocalWaker that is only valid for a given lifetime.

SpawnError

An error that occurred during spawning.

Waker[
Experimental
]

A Waker is a handle for waking up a task by notifying its executor that it is ready to be run.

Enums

Poll[
Experimental
]

Indicates whether a value is available or if the current task has been scheduled to receive a wakeup instead.

Traits

LocalSpawn

The LocalSpawn is similar to [Spawn], but allows spawning futures that don't implement Send.

LocalSpawnExt

Extension trait for LocalSpawn.

Spawn

The Spawn trait allows for pushing futures onto an executor that will run them to completion.

SpawnExt

Extension trait for Spawn.

UnsafeWake[
Experimental
]

An unsafe trait for implementing custom memory management for a Waker or LocalWaker.

Wake[
Experimental
]

A way of waking up a specific task.

Functions

local_waker[
Experimental
]

Creates a LocalWaker from a local wake.

local_waker_from_nonlocal[
Experimental
]

Creates a LocalWaker from a non-local wake.

local_waker_ref

Creates a reference to a LocalWaker from a local wake.

local_waker_ref_from_nonlocal

Creates a reference to a LocalWaker from a non-local wake.

noop_local_waker

Create a new LocalWaker referencing a singleton instance of [NoopWake].

noop_local_waker_ref

Get a thread local reference to a LocalWaker referencing a singleton instance of [NoopWake].