Support for tasks, coroutines and the scheduler.
A $(D_PSYMBOL GeneratorTask) is a $(D_PSYMBOL Task) that periodically returns values of type $(D_PSYMBOL T) to the caller via $(D_PSYMBOL yieldValue). This is represented as an $(D_PSYMBOL InputRange).
Schedule the execution of a fiber: wrap it in a future. A task is a subclass of Future.
Return a generator whose values, when waited for, are Future instances in the order they complete.
Schedule the execution of a coroutine: wrap it in a future. Return a $(D_PSYMBOL Task) object.
Wait for a future, shielding it from cancellation.
Create a coroutine that completes after a given time. If $(D_PSYMBOL result) is provided, it is produced to the caller when the coroutine completes.
Wait for the Future instances given by $(PARAM futures) to complete.
Wait for the single Future to complete with timeout. If timeout is 0 or negative, block until the future completes.
Yield a value to the caller of the currently executing generator task. The type of the yielded value and the type of the generator must be the same.