Module maitake::task

source ·
Expand description

The maitake task system.

This module contains the code that spawns tasks on a scheduler, and manages the lifecycle of tasks once they are spawned. This includes the in-memory representation of spawned tasks (the Task type), and the handle used by the scheduler and other components of the runtime to reference a task once it is spawned (the TaskRef type).


  • A type representing Box storage of a task
  • Builds a new Task prior to spawning it.
  • The context of an asynchronous task.
  • Errors returned by awaiting a JoinHandle.
  • An owned permission to join a task (await its termination).
  • A task.
  • A unique identifier for a running task.
  • A type-erased, reference-counted pointer to a spawned Task.
  • A Waker is a handle for waking up a task by notifying its executor that it is ready to be run.


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


  • A trait representing a heap allocation that can own a Task.