Table of Contents

Class FlowSignalDispatcher

Namespace
FlowOrchestrator.Core.Execution
Assembly
FlowOrchestrator.Core.dll
public sealed class FlowSignalDispatcher : IFlowSignalDispatcher
Inheritance
FlowSignalDispatcher
Implements
Inherited Members

Constructors

FlowSignalDispatcher(IFlowSignalStore, IFlowRunStore, IFlowRepository, IStepDispatcher, IOutputsRepository, FlowOrchestratorTelemetry?)

Initialises the dispatcher with its dependencies. telemetry is optional — when omitted, signal-wait metrics are not emitted.

public FlowSignalDispatcher(IFlowSignalStore signalStore, IFlowRunStore runStore, IFlowRepository flowRepository, IStepDispatcher dispatcher, IOutputsRepository outputsRepository, FlowOrchestratorTelemetry? telemetry = null)

Parameters

signalStore IFlowSignalStore
runStore IFlowRunStore
flowRepository IFlowRepository
dispatcher IStepDispatcher
outputsRepository IOutputsRepository
telemetry FlowOrchestratorTelemetry

Methods

DispatchAsync(Guid, string, string, CancellationToken)

Validates the run, persists the payload on the matching waiter, and nudges the engine to re-execute the parked step so it observes the delivered payload.

public ValueTask<SignalDeliveryResult> DispatchAsync(Guid runId, string signalName, string payloadJson, CancellationToken ct = default)

Parameters

runId Guid

The run whose WaitForSignal step should receive the signal.

signalName string

Logical signal name configured on the step's signalName input.

payloadJson string

Pre-serialised JSON payload supplied by the caller.

ct CancellationToken

Cancellation token.

Returns

ValueTask<SignalDeliveryResult>