TurboMediator

TurboMediator

A high-performance Mediator library for .NET using Source Generators. Zero reflection, Native AOT compatible, and compile-time validated.

What is TurboMediator?

TurboMediator is a high-performance implementation of the Mediator pattern for .NET that uses Roslyn Source Generators to create compile-time optimized dispatch code. Unlike traditional mediator libraries that rely on reflection and runtime type resolution, TurboMediator generates all the routing code at build time.

Key Benefits

  • Zero Reflection — All handler dispatch is generated at compile time via switch expressions
  • Native AOT Compatible — No runtime code generation, fully compatible with Native AOT publishing
  • Compile-Time Validation — Missing handlers, duplicate handlers, and signature mismatches are caught as build errors
  • ValueTask-Based — Uses ValueTask<T> throughout for minimal allocation overhead
  • CQRS Ready — Built-in support for Commands, Queries, Requests, and Notifications
  • Streaming — First-class IAsyncEnumerable<T> support for streaming scenarios
  • Modular — 20+ optional packages for cross-cutting concerns

Package Overview

PackageDescription
TurboMediator.AbstractionsCore interfaces, message types, handlers, pipeline behaviors
TurboMediator.SourceGeneratorCompile-time code generation (required)
TurboMediator.FluentValidationFluentValidation integration
TurboMediator.ResilienceRetry, Circuit Breaker, Timeout, Fallback, Hedging
TurboMediator.ResultResult pattern types for functional error handling
TurboMediator.ObservabilityTelemetry, Metrics, Correlation, Structured Logging, Health Checks
TurboMediator.CachingResponse caching with attribute-based configuration
TurboMediator.Caching.RedisRedis distributed cache provider for TurboMediator.Caching
TurboMediator.ValidationBuilt-in lightweight validation (no FluentValidation dependency)
TurboMediator.EnterpriseAuthorization, Multi-Tenancy, Deduplication
TurboMediator.SchedulingCron jobs and recurring job scheduling
TurboMediator.Scheduling.EntityFrameworkEF Core job store for Scheduling
TurboMediator.RateLimitingRate Limiting & Bulkhead Isolation
TurboMediator.PersistenceTransactions, Outbox, Audit
TurboMediator.Persistence.EFEntity Framework Core implementations
TurboMediator.SagaSaga orchestration pattern
TurboMediator.Saga.EntityFrameworkEF Core saga store
TurboMediator.StateMachineState machine pattern with guards, transitions, and mediator integration
TurboMediator.StateMachine.EntityFrameworkEF Core transition store for state machine auditing
TurboMediator.BatchingBatch processing for queries
TurboMediator.FeatureFlagsFeature flag behavior
TurboMediator.FeatureFlags.FeatureManagementMicrosoft.FeatureManagement integration
TurboMediator.TestingTest utilities, fakes, and helpers
TurboMediator.CliCLI tool for analysis and docs generation

Next Steps

On this page