mirror of
https://github.com/block/buzz.git
synced 2026-11-02 07:22:55 +00:00
MeshAudioRouter fences inbound media datagrams against a per-session GenerationFloor (monotonic; stale generations dropped = the fence), then delivers [peer_index][v2 hdr][Opus] to local room peers via Room's new deliver_prefixed, skipping the author's own index. spawn_remote_peer_sink models a cross-pod participant as an ordinary AudioPeer whose audio_tx sink is drained onto the mesh, so Room stays transport-agnostic and broadcast_frame is unchanged. Zero client-wire change: peer_index is relay-added routing metadata, always the first payload byte in both directions. Datagram half only; the HuddleControl remote-peer-registration stream path is wired from handler.rs in a following change. 6 unit tests cover fence monotonicity, per-session isolation, forget/reset, and drop-on-stale/empty. Co-authored-by: Tyler Longwell <tlongwell@block.xyz> Signed-off-by: Tyler Longwell <tlongwell@block.xyz>