dffb490afe
Peers can now send post-handshake Stats messages over unidirectional control streams. The relay listens for those streams alongside Ethernet datagrams, stores the latest snapshot on the peer session, and logs the counters with room, peer, and role context. Unexpected post-handshake control messages now close the peer as a protocol error. Peer-requested Disconnect messages leave the room through the normal cleanup path, which keeps lifecycle notifications centralized. Test Plan: - cargo fmt --check - cargo test -p lanparty-relay \ forwards_ethernet_datagrams_between_joined_peers \ -- --nocapture - cargo test -p lanparty-relay - cargo clippy -p lanparty-relay --all-targets -- -D warnings - cargo test --workspace - cargo clippy --workspace --all-targets -- -D warnings - git diff --check Refs: PLAN.md