// Copyright (c) 2025-2026 GeWuYou
// SPDX-License-Identifier: Apache-2.0
namespace GFramework.Cqrs.Abstractions.Cqrs;
///
/// 定义流式 CQRS 请求在建流阶段使用的管道行为。
///
/// 流式请求类型。
/// 流式响应元素类型。
public interface IStreamPipelineBehavior
where TRequest : IStreamRequest
{
///
/// 处理当前流式请求,并决定是否继续调用后续行为或最终处理器。
///
/// 当前流式请求消息。
/// 下一个处理委托。
/// 取消令牌。
/// 异步响应序列。
IAsyncEnumerable Handle(
TRequest message,
StreamMessageHandlerDelegate next,
CancellationToken cancellationToken);
}