Table of Contents

Namespace MarymoorStudios.Core.Promises

Classes

AResolver

Abstract base class for Resolver<T>.

AutoResetEventAsync

An eventual auto-reset event.

Joiner

Joins multiple promises together.

PromiseFinally
PromiseJoin
PromiseOnCompleted
PromiseWhen
PromiseWithCancellation
ResolverExtensions

Extensions for Resolver<T>.

ResolverTurn<T>
Resolver<T>

A capability for resolving an eventual computation.

RingBuffer<T>

A fixed-sized, shared-memory, Transport<T>.

Runner

Abstract based class for turn runners.

SafeDispose

Utilities to safely dispose generic values.

Scheduler

A scheduler of turns.

Sip

A Software Isolated Process (SIP).

Transport<T>

A FIFO queue of ordered discrete items.

Turn

The basic unit of work in the scheduler.

Void

A marker type that reifies void.

Structs

DiagnosticId

A unique id for diagnostic purposes.

Promise

A representation of the future outcome of a computation.

PromiseAwaiter

Enables the await keyword for Promise.

PromiseAwaiter<T>

Enables the await keyword for Promise<T>.

PromiseMethodBuilder

Enables the async keyword for methods that return a Promise.

PromiseMethodBuilder<T>

Enables the async keyword for methods that return a Promise<T>.

Promise<T>

A representation of the future outcome of a computation.

Turn.TurnEnumerator

An enumerator for a TurnList.

TurnList

A circular, singularly-linked list of turns.

Interfaces

IIPromiseEnumerator<T>

Supports a simple asynchronous iteration over a generic collection.

IPromiseDisposable

A promise-based replacement for IAsyncDisposable.

IPromiseEnumerable<T>

Factory for asynchronous enumerators.

Enums

TransportFlags

Status flags for a Transport<T>.