From a76916c520d2fbe941d281a23a7538545cf002d6 Mon Sep 17 00:00:00 2001 From: rustdesk Date: Thu, 12 Aug 2021 10:55:21 +0800 Subject: [PATCH] ignore abnormal latency --- src/rendezvous_mediator.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/rendezvous_mediator.rs b/src/rendezvous_mediator.rs index 3832f6d9fdc..13f0f605ccc 100644 --- a/src/rendezvous_mediator.rs +++ b/src/rendezvous_mediator.rs @@ -111,10 +111,14 @@ impl RendezvousMediator { loop { let mut update_latency = || { last_register_resp = SystemTime::now(); + fails = 0; let mut latency = last_register_resp .duration_since(last_register_sent) .map(|d| d.as_micros() as i64) .unwrap_or(0); + if latency < 0 || latency > 1_000_000 { + return; + } if ema_latency == 0 { ema_latency = latency; } else { @@ -130,7 +134,6 @@ impl RendezvousMediator { log::debug!("Latency of {}: {}ms", host, latency as f64 / 1000.); old_latency = latency; } - fails = 0; }; select! { Some(Ok((bytes, _))) = socket.next() => {