A pure-managed, NativeAOT-ready implementation of PGM (Pragmatic General Multicast, RFC 3208) — reliable multicast — over UDP, for modern .NET. No native dependency.
- 📡 Wire-faithful PGM-over-UDP (SPM / ODATA / RDATA / NAK / NCF / SPMR), NAK-based repair, transmit/receive windows, FEC (Reed-Solomon), and congestion control.
- Multi-TFM:
netstandard2.0,netstandard2.1,net8.0,net9.0,net10.0; NativeAOT-clean on net8+. - Testable anywhere: the protocol runs over a pluggable datagram channel, so it is fully exercised over an in-memory bus (with injected loss/reorder) without needing real multicast.
dotnet add package Pgmdotnet build Pgm.slnx -c Release
dotnet test Pgm.slnx -c Release- In memory Publish/Subscriber — 🚀 publisher + two subscribers over the in-memory bus; runs anywhere, no real multicast.
- Pgm.Benchmarks — BenchmarkDotNet micro-benchmarks for codec, checksum, and FEC.