a9c143e447
Add the reliable control-plane schema that will run over QUIC streams. This covers the phase-1 handshake shape without mixing in relay sockets, TAP access, or gateway packet IO. The schema includes endpoint hello messages with role, room, MAC, and datagram budget, plus server welcome, rejection, peer lifecycle, stats, and disconnect messages. Constructors and validation enforce room-code syntax, client MAC identity rules, reserved peer IDs, and effective TAP MTU limits. Decoded control messages can be validated explicitly so serde input cannot silently bypass the same invariants. The actual stream codec remains future work; this commit only fixes the typed contract the codec will carry. Test Plan: - cargo fmt --check - cargo test --workspace - cargo clippy --workspace --all-targets -- -D warnings Refs: PLAN.md reliable QUIC control stream requirements
10 lines
197 B
TOML
10 lines
197 B
TOML
[package]
|
|
name = "lanparty-ctrl"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
|
|
[dependencies]
|
|
lanparty-proto = { path = "../lanparty-proto" }
|
|
serde.workspace = true
|
|
thiserror.workspace = true
|