LockstepRunEventStream class final

A RunEventStream that drives one superstep at a time.

Events received via enqueue during a superstep are buffered, then yielded in batch once SuperStepRunnable.runSuperStepAsync returns. The next superstep is not started until the consumer has iterated all events from the current one, giving the caller fine-grained control over execution cadence.

Construction is two-phase: create the stream, pass it as the runner's EventSink, then call bindRunner before iterating events.

Implemented types

Constructors

LockstepRunEventStream()

Properties

events Stream<WorkflowEvent>
The stream of WorkflowEvents produced by the workflow.
no setteroverride
hashCode int
The hash code for this object.
no setterinherited
isCompleted bool
Whether this stream has been completed and closed.
no setteroverride
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

bindRunner(SuperStepRunnable runner) → void
Binds the SuperStepRunnable that this stream will drive.
completeAsync() Future<void>
Marks the stream as completed and closes the underlying event source.
override
enqueue(WorkflowEvent workflowEvent) Future<void>
Enqueues workflowEvent for delivery.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited