Skip to main content

Module phantom_udp

Module phantom_udp 

Source
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-byte cid to 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]]. Like TcpSessionTransport’s 4-byte length prefix, this is outside core/tests/wire_vectors and does not bump WIRE_VERSION/PROTOCOL_VERSION.