diff --git a/Cargo.lock b/Cargo.lock index ca67801..2361416 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -84,7 +84,7 @@ dependencies = [ [[package]] name = "alfis" -version = "0.8.0" +version = "0.8.2" dependencies = [ "base64", "bincode", diff --git a/Cargo.toml b/Cargo.toml index c2b8e08..486ce10 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "alfis" -version = "0.8.1" +version = "0.8.2" authors = ["Revertron "] edition = "2021" build = "build.rs" diff --git a/src/p2p/network.rs b/src/p2p/network.rs index 544be2a..0fff1f0 100644 --- a/src/p2p/network.rs +++ b/src/p2p/network.rs @@ -417,6 +417,7 @@ impl Network { encode_message(&message, peer.get_cipher()).unwrap() }; send_message(peer.get_stream(), &data).unwrap_or_else(|e| warn!("Error sending hello {}", e)); + peer.set_state(State::idle()); //debug!("Sent hello to {}", &peer.get_addr()); } State::Connected => {} @@ -425,6 +426,7 @@ impl Network { if let Ok(data) = encode_bytes(&data, peer.get_cipher()) { send_message(peer.get_stream(), &data).unwrap_or_else(|e| warn!("Error sending message {}", e)); } + peer.set_state(State::idle()); } State::Idle { from } => { debug!("Odd version of pings :)"); @@ -444,10 +446,12 @@ impl Network { State::SendLoop => { let data = encode_message(&Message::Loop, peer.get_cipher()).unwrap(); send_message(peer.get_stream(), &data).unwrap_or_else(|e| warn!("Error sending loop {}", e)); + peer.set_state(State::idle()); } State::Twin => { let data = encode_message(&Message::Twin, peer.get_cipher()).unwrap(); send_message(peer.get_stream(), &data).unwrap_or_else(|e| warn!("Error sending loop {}", e)); + peer.set_state(State::idle()); } } registry.reregister(peer.get_stream(), event.token(), Interest::READABLE).unwrap(); diff --git a/src/p2p/peers.rs b/src/p2p/peers.rs index f3a0b58..d4419e2 100644 --- a/src/p2p/peers.rs +++ b/src/p2p/peers.rs @@ -308,7 +308,7 @@ impl Peers { None => {} Some((token, peer)) => { debug!("Peer {} is behind ({}), sending ping", &peer.get_addr().ip(), peer.get_height()); - registry.reregister(peer.get_stream(), *token, Interest::WRITABLE | Interest::READABLE).unwrap(); + registry.reregister(peer.get_stream(), *token, Interest::WRITABLE).unwrap(); peer.set_state(State::message(Message::Ping { height, hash })); peer.set_sent_height(height); self.update_behind_ping_time();