Module futures::task[][src]

Tools for working with tasks.

This module contains:

Tasks themselves are generally created by spawning a future onto an executor. However, you can manually construct a task by creating your own Context instance, and polling a future with it.

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.

Context [
Experimental
]

Information about the currently-running task.

LocalWaker [
Experimental
]

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

SpawnErrorKind [
Experimental
]

Provides the reason that an executor was unable to spawn.

SpawnLocalObjError [
Experimental
]

The result of a failed spawn

SpawnObjError [
Experimental
]

The result of a failed spawn

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

ContextExt

Extension trait for Context, adding methods that require allocation.

Executor [
Experimental
]

A task executor.

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.