Class WorkflowCursor
The engine's position in a graph, persisted alongside the data document.
public sealed record WorkflowCursor : IEquatable<WorkflowCursor>
- Inheritance
-
WorkflowCursor
- Implements
- Inherited Members
Remarks
A single pointer is not enough: Parallel and ForEach put several activities in flight at once, and the sequence after them may not resume until every one has finished. So the cursor tracks open Joins rather than one current node — each a countdown with the node to continue from once it reaches zero.
Where the instance is *right now* lives in the dispatched jobs themselves, each carrying its own node id. The cursor holds only what no single job can know: how many siblings are still outstanding.
Properties
- Completed
True once no activity remains in flight and no join is open.
- HasOpenJoins
Whether any fan-out is still waiting on branches.
- Joins
Open fan-outs, keyed by the id of the node that opened them.
- Sagas
Open sagas, keyed by the saga node's id.
- Waits
Open signal waits, keyed
signalName|correlationId.
Methods
- WaitKey(string, string)
The key a wait is stored under.