diff options
| author | tv <tv@krebsco.de> | 2026-10-31 06:50:07 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-10-31 06:50:07 +0100 |
| commit | a216c65c48f6b662ce083873d6e344fbee1c556b (patch) | |
| tree | f7cc9d290cef8311127adea9b818b3fd2d3aa67b /src/swarm/peer/keepalive.rs | |
| parent | 1781243546af0a90ed1d572a0581dc450ef01d85 (diff) | |
pong carries time
Diffstat (limited to 'src/swarm/peer/keepalive.rs')
| -rw-r--r-- | src/swarm/peer/keepalive.rs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/swarm/peer/keepalive.rs b/src/swarm/peer/keepalive.rs index 5e03d0e..11817cc 100644 --- a/src/swarm/peer/keepalive.rs +++ b/src/swarm/peer/keepalive.rs @@ -48,12 +48,15 @@ pub(super) async fn note_alive(state: &AppState, peer: &str, message: &ParsedMes let now = Instant::now(); match message { ParsedMessage::Ping(nonce) if !state.transport.answers_pings() => { - let pong = ParsedMessage::Pong(*nonce); + let pong = ParsedMessage::Pong { + nonce: *nonce, + at: state.clock.now_millis(), + }; if let Err(error) = state.transport.send_message(peer, &pong).await { debug!(peer = %peer, error = %format!("{error:#}"), "PONG failed"); } } - ParsedMessage::Pong(_) => { + ParsedMessage::Pong { .. } => { if let Some(rtt) = state.transport.rtt(peer) { state.lock_rtt().measured(peer, rtt, now); } |
