IMessagePublisher.cs
821 Bytes
namespace Rcs.Application.MessageBus;
/// <summary>
/// 消息发布者接口
/// </summary>
public interface IMessagePublisher
{
/// <summary>
/// 发布消息
/// </summary>
/// <typeparam name="T">消息类型</typeparam>
/// <param name="message">消息</param>
/// <param name="cancellationToken">取消令牌</param>
Task PublishAsync<T>(T message, CancellationToken cancellationToken = default) where T : class, IMessage;
/// <summary>
/// 批量发布消息
/// </summary>
/// <typeparam name="T">消息类型</typeparam>
/// <param name="messages">消息列表</param>
/// <param name="cancellationToken">取消令牌</param>
Task PublishBatchAsync<T>(IEnumerable<T> messages, CancellationToken cancellationToken = default) where T : class, IMessage;
}