aboutsummaryrefslogtreecommitdiffstats
path: root/src/document/inspect.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-09 04:21:12 +0000
committertv <tv@krebsco.de>2026-11-09 05:21:58 +0100
commitc04bbc8781b69fd3aee59c1ee03c37dd4a1403cf (patch)
tree7c46c112a4dab3dcb0d9721875c8dfe9d1236f35 /src/document/inspect.rs
parentd30ac9c7aede4cbc6463ec1ee80b650b7bf9e9c7 (diff)
paths: PINGs of a path take turns with the peer's
The node's keepalives take turns between the two sides (`PeerState::keepalive_due_at`), but the paths layer pinged every path in use every `probe_every` (the keepalive interval, 30 s at least) whatever the peer did: a PING from the peer over the path didn't count. So both sides pinged each path every interval, often within a second of each other (seen on the dashboard: a PING answered, and our own PING right after it). Now a PING from the peer over a path is noted (`PathState::peer_probe`), and a path is pinged again (`rested`) an interval after the peer's PING, if that came last; after ours, an interval and a half while the peer pings too (its PING within two intervals before ours), so its turn comes first; else an interval. One exchange per interval goes over a path, as the measurements' "two keepalives per neighbour per interval" says, and each side measures every other interval; a shorter `--keepalive` measures more often. A path whose way out broke while the peer's PINGs still come in is found by our own PINGs half as often; a failed send or unanswered traffic (`suspect`) still pings at once.
Diffstat (limited to 'src/document/inspect.rs')
0 files changed, 0 insertions, 0 deletions