Available on crate feature
std and non-WebAssembly only.Expand description
PhantomUDP datagram framing — the outer UDP envelope + fragmentation for the native reliable-UDP transport (the production transport; Phase 1 introduced it, Phase 4 added seamless single-path connection migration).
This module is just the framing layer: envelope is the unauthenticated
[flags][cid] outer header, and datagram maps one logical frame to one or
more MTU-bounded UDP datagrams (fragmenting + reassembling oversized frames).
The SessionTransport impls and the CID-window demux listener that build on it
live in api/udp_transport.rs / api/udp_listener.rs, NOT here.
See docs/plans/phantomudp-phase1-design.md (framing) and
docs/plans/phantomudp-phase4-design.md (migration / liveness).
Modules§
- datagram
- Map a logical frame to one or more UDP datagrams (and back), fragmenting frames larger
than the path MTU. Reuses
FragmentAssembler(with its anti-DoS bounds) by zero-padding the 8-bytecidto the assembler’s[u8;16]key. - envelope
- PhantomUDP outer datagram envelope — transport framing (NOT the frozen inner wire).
Every UDP datagram begins with
[flags: u8][cid: [u8;8]]. LikeTcpSessionTransport’s 4-byte length prefix, this is outsidecore/tests/wire_vectorsand does not bumpWIRE_VERSION/PROTOCOL_VERSION.