[][src]Module futures::task

Tools for working with tasks.

This module contains:

  • Spawn, a trait for spawning new tasks.
  • 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.

Structs

AtomicWaker

A synchronization primitive for task wakeup.

RawWakerExperimental

A RawWaker allows the implementor of a task executor to create a Waker which provides customized wakeup behavior.

RawWakerVTableExperimental

A virtual function pointer table (vtable) that specifies the behavior of a RawWaker.

SpawnError

An error that occurred during spawning.

WakerExperimental

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

WakerRef

A Waker that is only valid for a given lifetime.

Enums

PollExperimental

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

Traits

ArcWake

A way of waking up a specific task.

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.

Functions

noop_waker

Create a new Waker which does nothing when wake() is called on it. The Waker can be converted into a Waker which will behave the same way.

noop_waker_ref

Get a thread local reference to a Waker referencing a singleton instance of a Waker which panics when woken.

waker_ref

Creates a reference to a Waker from a local wake.