Files
Toolkit2/Framework/Foundation/Lifecycles/IMediator.cs
T
2022-12-17 21:54:12 +00:00

15 lines
670 B
C#

namespace Toolkit.Framework.Foundation;
public interface IMediator
{
ValueTask Publish<TNotification>(TNotification notification, CancellationToken cancellationToken = default) where TNotification : INotification;
ValueTask<TResponse> Send<TResponse>(IRequest<TResponse> request, CancellationToken cancellationToken = default);
ValueTask<TResponse> Send<TResponse>(ICommand<TResponse> command, CancellationToken cancellationToken = default);
ValueTask<TResponse> Send<TResponse>(IQuery<TResponse> query, CancellationToken cancellationToken = default);
ValueTask<object?> Send(object message, CancellationToken cancellationToken = default);
}