Fix server only replying after pings
This commit is contained in:
parent
a3d61f46c3
commit
9f60a069a8
1 changed files with 6 additions and 7 deletions
|
|
@ -129,19 +129,18 @@ impl ConnMaintenance {
|
||||||
let mut payload = [0u8; 8];
|
let mut payload = [0u8; 8];
|
||||||
|
|
||||||
rand::thread_rng().fill(&mut payload);
|
rand::thread_rng().fill(&mut payload);
|
||||||
// debug!("Sending first ping with payload {:?}", payload);
|
|
||||||
tx.send(Message::Ping(payload.to_vec()))?;
|
tx.send(Message::Ping(payload.to_vec()))?;
|
||||||
tokio::time::sleep(ping_delay).await;
|
tokio::time::sleep(ping_delay).await;
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
|
{
|
||||||
let last_payload = last_ping_payload.lock().await;
|
let last_payload = last_ping_payload.lock().await;
|
||||||
if (&payload as &[u8]) != (&last_payload as &[u8]) {
|
if (&payload as &[u8]) != (&last_payload as &[u8]) {
|
||||||
// warn!("Invalid ping payload, client probably dead");
|
|
||||||
return Err(Error::NoPong);
|
return Err(Error::NoPong);
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
rand::thread_rng().fill(&mut payload);
|
rand::thread_rng().fill(&mut payload);
|
||||||
// debug!("Sending ping with payload {:?}", payload);
|
|
||||||
tx.send(Message::Ping(payload.to_vec()))?;
|
tx.send(Message::Ping(payload.to_vec()))?;
|
||||||
tokio::time::sleep(ping_delay).await;
|
tokio::time::sleep(ping_delay).await;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue