// Copyright (c) 2025-2026 GeWuYou
// SPDX-License-Identifier: Apache-2.0
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
using GFramework.Cqrs.Abstractions.Cqrs;
namespace GFramework.Cqrs.Tests.Cqrs;
///
/// 处理 并记录最终 handler 执行位置。
///
internal sealed class DispatcherStreamPipelineOrderHandler : IStreamRequestHandler
{
///
/// 记录 handler 执行步骤并返回稳定元素。
///
/// 当前流式请求。
/// 取消令牌。
/// 包含一个固定元素的异步流。
public async IAsyncEnumerable Handle(
DispatcherStreamPipelineOrderRequest request,
[EnumeratorCancellation] CancellationToken cancellationToken)
{
DispatcherStreamPipelineOrderState.Record("Handler");
yield return 21;
await Task.CompletedTask.ConfigureAwait(false);
}
}