feat(client): send stats snapshots to relay
Client counters were only local diagnostics even though the control protocol and relay now understand Stats messages. Add a client-core sender that opens a peer-to-relay unidirectional stream with the current TunnelStats snapshot. The Windows client reports stats whenever it prints its diagnostics snapshot. Failures are logged instead of stopping the frame pump because stats reporting is diagnostic and should not be the reason a live tunnel goes down. The client-core integration test now has the server decode the stats stream before shutdown so the send path is covered without a timing race. Test Plan: - cargo fmt --check - cargo test -p lanparty-client-core \ connects_to_relay_control_stream_as_client -- --nocapture - cargo test -p lanparty-client-core - cargo test -p lanparty-client-win - cargo clippy -p lanparty-client-core --all-targets -- -D warnings - cargo clippy -p lanparty-client-win --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:
@@ -52,6 +52,7 @@ Platform-neutral remote client relay session:
|
||||
- reliable relay control-event reads for peer lifecycle messages
|
||||
- Ethernet frame send/receive helpers over QUIC DATAGRAM
|
||||
- client tunnel statistics for frame/datagram rx/tx and drops
|
||||
- reliable client stats snapshot sends for relay diagnostics
|
||||
|
||||
### `lanparty-client-route`
|
||||
|
||||
@@ -165,8 +166,9 @@ interface metric and disables TAP default routes while it runs, periodically
|
||||
rechecks that the relay route remains pinned, then restores the previous route
|
||||
policy on exit. Until automatic TAP MAC configuration is wired, startup fails
|
||||
before bridging if the driver-reported MAC does not match the tunnel identity.
|
||||
It prints client diagnostics snapshots with relay reachability, route-pinning,
|
||||
QUIC datagram budget, TAP status/IP, frame/datagram counters, and drops.
|
||||
It prints and reports client diagnostics snapshots with relay reachability,
|
||||
route-pinning, QUIC datagram budget, TAP status/IP, frame/datagram counters,
|
||||
and drops.
|
||||
Relay lifecycle events are logged as they arrive, including gateway joins and
|
||||
peer leaves. The client remembers peer identities from join and catch-up events
|
||||
so later leave logs can identify a disconnected LAN gateway or client MAC when
|
||||
|
||||
Reference in New Issue
Block a user