Skip to content

v0.9.0 — initial release

Choose a tag to compare

@marcschier marcschier released this 30 Jun 12:47

Initial release of Pgm — a pure-managed, NativeAOT-ready implementation of PGM (Pragmatic General Multicast, RFC 3208) reliable multicast over UDP, with no native dependencies.

Highlights

  • PgmPublisher / PgmSubscriber facade over a pluggable IPgmDatagramChannel (real UDP multicast or an in-memory bus).
  • Reliable delivery: NAK-based repair, transmit window, SPM heartbeats, and Reed–Solomon FEC (proactive + on-demand parity).
  • Allocation-free wire codecs (Span / BinaryPrimitives), with SIMD checksum and GF(256) on net8+.
  • Network-free testing via InMemoryMulticastBus (inject loss, reordering, and duplication).
  • Target frameworks: netstandard2.0, netstandard2.1, net8.0, net9.0, net10.0.

Package

Published to the GitHub Packages and nuget.org feeds as Pgm 0.9.16.