Skip to content

Commit 727e0d6

Browse files
committed
feat: signals
1 parent 8e8795b commit 727e0d6

41 files changed

Lines changed: 7208 additions & 545 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎src/Spindle.Abstractions/Flows/IFlowContext.cs‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ ValueTask DelayUntil(
4141
DateTimeOffset dueAt,
4242
CancellationToken cancellationToken = default);
4343

44-
ValueTask<TSignal> WaitForSignal<TSignal>(
44+
ValueTask<TSignal?> WaitForSignal<TSignal>(
4545
SignalName signalName,
46-
CorrelationKey? correlationKey = null,
46+
CorrelationKey correlationKey,
4747
SignalWaitOptions? options = null,
4848
CancellationToken cancellationToken = default);
4949
}

‎src/Spindle.Abstractions/Flows/ISpindleRuntime.cs‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ ValueTask<TResult> RunAsync<TRequest, TResult>(
8686
ValueTask SignalAsync<TSignal>(
8787
FlowInstanceId instanceId,
8888
SignalName signalName,
89+
CorrelationKey correlationKey,
8990
TSignal payload,
9091
CancellationToken cancellationToken = default);
9192

@@ -95,6 +96,17 @@ ValueTask SignalAsync<TSignal>(
9596
TSignal payload,
9697
CancellationToken cancellationToken = default);
9798

99+
ValueTask SignalAsync(
100+
FlowInstanceId instanceId,
101+
SignalName signalName,
102+
CorrelationKey correlationKey,
103+
CancellationToken cancellationToken = default);
104+
105+
ValueTask SignalAsync(
106+
SignalName signalName,
107+
CorrelationKey correlationKey,
108+
CancellationToken cancellationToken = default);
109+
98110
ValueTask CancelAsync(
99111
FlowInstanceId instanceId,
100112
string? reason = null,

‎src/Spindle.Persistence.Abstractions/Signals/SignalRecord.cs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public sealed record SignalRecord
1111

1212
public FlowInstanceId? FlowInstanceId { get; init; }
1313

14-
public required SerializedPayload Payload { get; init; }
14+
public required SerializedPayload? Payload { get; init; }
1515

1616
public required DateTimeOffset RaisedAt { get; init; }
1717
}

‎src/Spindle.Persistence.Abstractions/Signals/SignalWaitRecord.cs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public sealed record SignalWaitRecord
1010

1111
public required SignalName SignalName { get; init; }
1212

13-
public CorrelationKey? CorrelationKey { get; init; }
13+
public CorrelationKey CorrelationKey { get; init; }
1414

1515
public required DateTimeOffset CreatedAt { get; init; }
1616

0 commit comments

Comments
 (0)