Resilience patterns for TurboMediator - Retry, Circuit Breaker, Timeout, Fallback, Hedging
$ dotnet add package TurboMediator.ResilienceA high-performance Mediator library for .NET using Roslyn Source Generators. Zero reflection, Native AOT compatible, compile-time validated.
switch expression routes messages at compile time.PublishAot.dotnet add package TurboMediator
// Define a query
public record GetUserQuery(Guid Id) : IQuery<User>;
// Implement a handler
public class GetUserHandler : IQueryHandler<GetUserQuery, User>
{
public async ValueTask<User> Handle(GetUserQuery query, CancellationToken ct)
=> await _repo.GetByIdAsync(query.Id, ct);
}
// Register & use
builder.Services.AddTurboMediator();
var user = await mediator.Send(new GetUserQuery(userId));