eve.rt.future
Futures and promises for asynchronous value propagation.
A Future represents a value that may not yet be available, while a Promise is the producer side that completes the future with a value or an error. Together they provide a mechanism for asynchronous communication between different parts of the runtime.
Copyright
Types 5
Error thrown when attempting to retrieve a value from a future that was completed with an error.
this(string msg, string file = __FILE__, size_t line = __LINE__)Construct a FutureError with the given message.The state of a future's completion.
Shared state between a Future and its corresponding Promise.
This structure holds the actual value or error and synchronization primitives needed for thread-safe access.
T valueThe resolved value, valid only when state is RESOLVED.string errorMsgError message if the future was rejected.FutureState stateCurrent state of the future.Mutex mutexMutex for thread-safe state transitions.void delegate(T) @safe[] onResolveCallbacks to invoke when the future completes.void delegate(string) @safe[] onRejectCallbacks to invoke when the future is rejected.void delegate() @safe[] onCancelCallbacks to invoke when the future is cancelled.this()Construct a new shared state with initialized mutex.A future represents a value that will be available at some point.
Futures are the read-only consumer side of the future/promise pair. They allow checking whether a value is available and retrieving it once the corresponding promise has been completed.
Parameters
T | The type of value this future will hold. |
private SharedState!T sharedStatebool isCompleted() const @trusted nothrow @nogcCheck whether the future has been completed (resolved or rejected).Future!T then(void delegate(T) @safe callback) ref @trusted returnRegister a callback to be invoked when the future is resolved.A promise is the producer side of a future/promise pair.
The promise holder can complete the associated future by either resolving it with a value or rejecting it with an error.
Parameters
T | The type of value this promise will produce. |
private SharedState!T sharedState