less udp message if failure

This commit is contained in:
rustdesk 2024-01-26 18:58:05 +08:00
parent 3899e4e12e
commit 46b4e21e8c

View File

@ -171,6 +171,7 @@ impl RendezvousMediator {
let mut latency = last_register_sent
.map(|x| x.elapsed().as_micros() as i64)
.unwrap_or(0);
last_register_sent = None;
if latency < 0 || latency > 1_000_000 {
return;
}
@ -216,11 +217,9 @@ impl RendezvousMediator {
continue;
}
last_timer = now;
let elapsed_resp = last_register_resp.map(|x| x.elapsed().as_millis() as i64).unwrap_or(REG_INTERVAL);
let timeout = (elapsed_resp - last_register_sent.map(|x| x.elapsed().as_millis() as i64).unwrap_or(REG_INTERVAL)) > REG_TIMEOUT;
if timeout || elapsed_resp >= REG_INTERVAL {
rz.register_peer(Sink::Framed(&mut socket, &addr)).await?;
last_register_sent = now;
let expired = last_register_resp.map(|x| x.elapsed().as_millis() as i64 >= REG_INTERVAL).unwrap_or(true);
let timeout = last_register_sent.map(|x| x.elapsed().as_millis() as i64 >= REG_TIMEOUT).unwrap_or(false);
if timeout || (last_register_sent.is_none() && expired) {
if timeout {
fails += 1;
if fails > MAX_FAILS2 {
@ -240,6 +239,8 @@ impl RendezvousMediator {
old_latency = 0;
}
}
rz.register_peer(Sink::Framed(&mut socket, &addr)).await?;
last_register_sent = now;
}
}
}