A high-performance .NET implementation of the HashiCorp Yamux multiplexing protocol.
Multiple reliable, ordered, independent streams over a single underlying connection.
dotnet add package Yamux
Hundreds of logical streams over a single connection. Built on System.IO.Pipelines for high-performance I/O.
IDuplexSessionChannel, IReadOnlySessionChannel, and IWriteOnlySessionChannel for flexible stream management.
Automatic window tuning based on RTT. Configurable receive window sizes and upper bounds.
Options docs
Per-session and per-channel bandwidth tracking with Sampled events and OpenTelemetry metrics integration.
Support for Stream, Socket, IDuplexPipe, or custom ITransport implementations.
Pooled value task sources, lock-free ID generation, AOT compatible, and native publish support.
Benchmarks