Skip to content

Commit 0a70d8a

Browse files
committed
update valuetask
1 parent 75733c0 commit 0a70d8a

2 files changed

Lines changed: 10 additions & 5 deletions

File tree

src/ReflectionEventing.Demo.Wpf/ViewModels/MainWindowViewModel.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ public partial class MainWindowViewModel(IEventBus eventBus, ILogger<MainWindowV
2121
private int _queueCount;
2222

2323
/// <inheritdoc />
24-
public async ValueTask ConsumeAsync(ITickedEvent payload, CancellationToken cancellationToken)
24+
public ValueTask ConsumeAsync(ITickedEvent payload, CancellationToken cancellationToken)
2525
{
2626
int tickValue = payload.Value;
2727

28-
await DispatchAsync(
28+
return DispatchAsync(
2929
() =>
3030
{
3131
CurrentTick = tickValue;
@@ -35,11 +35,11 @@ await DispatchAsync(
3535
}
3636

3737
/// <inheritdoc />
38-
public async ValueTask ConsumeAsync(OtherEvent payload, CancellationToken cancellationToken)
38+
public ValueTask ConsumeAsync(OtherEvent payload, CancellationToken cancellationToken)
3939
{
4040
logger.LogInformation("Received {Event} event.", nameof(OtherEvent));
4141

42-
await ValueTask.CompletedTask;
42+
return default;
4343
}
4444

4545
/// <inheritdoc />

src/ReflectionEventing/EventBus.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,12 @@ CancellationToken cancellationToken
160160
cancellationToken
161161
);
162162

163-
if (!task.IsCompletedSuccessfully)
163+
if (task.IsCompletedSuccessfully)
164+
{
165+
// Ensure pooled IValueTaskSource is properly returned
166+
task.GetAwaiter().GetResult();
167+
}
168+
else
164169
{
165170
asyncTasks ??= new List<ValueTask>(consumers.Count);
166171
asyncTasks.Add(task);

0 commit comments

Comments
 (0)