feat(client): expose tunnel traffic counters

Client relay I/O now shares atomic tunnel counters across cloned
ClientRelayIo handles and the owning ClientSession. The counters cover
successful Ethernet frame rx/tx, relay datagram rx/tx, and dropped or
malformed frames so client diagnostics have the traffic totals called
out in PLAN.md.

The counters live in client-core because that crate owns relay datagram
classification and Ethernet payload validation. The Windows TAP runner can
later sample this snapshot without duplicating protocol decisions.

Test Plan:
- cargo fmt --check
- cargo test -p lanparty-client-core
- cargo clippy -p lanparty-client-core --all-targets -- -D warnings
- cargo test --workspace
- cargo clippy --workspace --all-targets -- -D warnings
- git diff --check

Refs: PLAN.md
This commit is contained in:
2026-05-21 20:11:11 +02:00
parent aa9105541f
commit 802fe3d082
4 changed files with 116 additions and 4 deletions
Generated
+1
View File
@@ -437,6 +437,7 @@ dependencies = [
"bytes",
"getrandom 0.3.4",
"lanparty-ctrl",
"lanparty-obs",
"lanparty-proto",
"quinn",
"rcgen",