27 lines
888 B
C#
27 lines
888 B
C#
namespace zero.Communication;
|
|
|
|
/// <summary>
|
|
/// Indicates a handler that can perform an action when a message of
|
|
/// a certain type is received. (could be an interface rather than concrete type)
|
|
/// </summary>
|
|
public interface IMessageHandler<TMessage> where TMessage : IMessage
|
|
{
|
|
/// <summary>
|
|
/// Method to invoke when a message of type TMessage is published
|
|
/// </summary>
|
|
Task Handle(TMessage message);
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// Indicates a handler that can perform an action when a message of
|
|
/// a certain type is received. (could be an interface rather than concrete type)
|
|
/// </summary>
|
|
public interface IBatchMessageHandler<TMessage> : IMessageHandler<TMessage> where TMessage : IMessage
|
|
{
|
|
/// <summary>
|
|
/// Method to invoke when a batch of messages of type TMessage are published
|
|
/// </summary>
|
|
Task HandleBatchAsync(IReadOnlyCollection<TMessage> message);
|
|
}
|