less udp message if failure
This commit is contained in:
parent
3899e4e12e
commit
46b4e21e8c
@ -171,6 +171,7 @@ impl RendezvousMediator {
|
|||||||
let mut latency = last_register_sent
|
let mut latency = last_register_sent
|
||||||
.map(|x| x.elapsed().as_micros() as i64)
|
.map(|x| x.elapsed().as_micros() as i64)
|
||||||
.unwrap_or(0);
|
.unwrap_or(0);
|
||||||
|
last_register_sent = None;
|
||||||
if latency < 0 || latency > 1_000_000 {
|
if latency < 0 || latency > 1_000_000 {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -216,11 +217,9 @@ impl RendezvousMediator {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
last_timer = now;
|
last_timer = now;
|
||||||
let elapsed_resp = last_register_resp.map(|x| x.elapsed().as_millis() as i64).unwrap_or(REG_INTERVAL);
|
let expired = last_register_resp.map(|x| x.elapsed().as_millis() as i64 >= REG_INTERVAL).unwrap_or(true);
|
||||||
let timeout = (elapsed_resp - last_register_sent.map(|x| x.elapsed().as_millis() as i64).unwrap_or(REG_INTERVAL)) > REG_TIMEOUT;
|
let timeout = last_register_sent.map(|x| x.elapsed().as_millis() as i64 >= REG_TIMEOUT).unwrap_or(false);
|
||||||
if timeout || elapsed_resp >= REG_INTERVAL {
|
if timeout || (last_register_sent.is_none() && expired) {
|
||||||
rz.register_peer(Sink::Framed(&mut socket, &addr)).await?;
|
|
||||||
last_register_sent = now;
|
|
||||||
if timeout {
|
if timeout {
|
||||||
fails += 1;
|
fails += 1;
|
||||||
if fails > MAX_FAILS2 {
|
if fails > MAX_FAILS2 {
|
||||||
@ -240,6 +239,8 @@ impl RendezvousMediator {
|
|||||||
old_latency = 0;
|
old_latency = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
rz.register_peer(Sink::Framed(&mut socket, &addr)).await?;
|
||||||
|
last_register_sent = now;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user