Preliminary. ThinkMeta ConcurrentTasks and this documentation are preliminary; everything is subject to change.

API reference

Core

The scheduler: its entry points, durations, priorities and the interfaces exchanged with it.

NameDescription
Functions and constants functions Free functions and constants of Core.
Duration struct A span of time, counted in units of 100 nanoseconds.
INotifyTaskStateChange interface Is told when a task has finished.
IoCompletionRoutine alias Called for every completion packet of an associated handle.
ISuspendCallback interface Receives the handle of the task that has just been suspended.
ITask interface A unit of work the scheduler runs on one of its fibers.
ITaskScheduler interface A scheduler: a set of OS threads that run tasks as fibers.
ITaskSwitchPolicy interface Decides when a SchedulerKind::TaskSwap scheduler switches tasks.
SchedulerInfo struct Parameters of CreateTaskScheduler.
SchedulerKind enum Selects the scheduler implementation.
SuspendedTaskEntry struct The bookkeeping of a task while it is suspended.
TaskEntry struct The scheduler-owned bookkeeping of one task.
TaskPriority enum Priority of a task.
TaskTimerData struct Storage the core uses for timers.
ThreadCallbackProc alias Called on each scheduler thread when it starts and when it exits.
ThreadCallbackReason enum Tells a ThreadCallbackProc why it is called.
YieldFlags enum Selects how YieldTask gives up the processor.