namespace CoreAgent.WebSocketTransport.Middleware;
///
/// WebSocket 消息处理中间件接口
/// 支持多种处理逻辑(日志、压缩、条件跳过、缓存、加密),增强扩展性和可维护性
///
public interface IMessageMiddleware
{
///
/// 处理发送消息,支持泛型
///
/// 消息类型
/// 要处理的消息
/// 取消令牌
/// 处理后的消息,返回 null 表示跳过后续处理
Task ProcessSendAsync(T message, CancellationToken cancellationToken = default);
///
/// 处理接收消息,支持泛型
///
/// 消息类型
/// 要处理的消息
/// 取消令牌
/// 处理后的消息,返回 null 表示跳过后续处理
Task ProcessReceiveAsync(T message, CancellationToken cancellationToken = default);
}