d4b29346d7
The gateway bridge loop uses a biased select so shutdown and relay lifecycle control events win over frame work. After those control paths, the loop used to poll physical LAN capture before relay datagrams. On a busy LAN, a perpetually readable AF_PACKET socket can delay ready remote client frames waiting to be injected onto the LAN. Service relay datagrams before LAN capture so remote-to-LAN traffic can cross the gateway promptly, while still preserving lifecycle-before-frame ordering. Test Plan: - cargo fmt --check - cargo test -p lanparty-gateway - cargo test --workspace - cargo clippy --workspace --all-targets -- -D warnings - git diff --check - git diff --cached --check Refs: MVP gateway bridge scheduling