aboutsummaryrefslogtreecommitdiffstats
path: root/src/swarm/peer/handshake.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/swarm/peer/handshake.rs')
-rw-r--r--src/swarm/peer/handshake.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/swarm/peer/handshake.rs b/src/swarm/peer/handshake.rs
index 13a1264..896ffdf 100644
--- a/src/swarm/peer/handshake.rs
+++ b/src/swarm/peer/handshake.rs
@@ -149,9 +149,9 @@ async fn transmit_hello(state: &AppState, peer: &str) -> Result<()> {
if peer_state.hello_state == HelloState::Sending {
topology::change_peer(state, &mut peer_state, |p| p.hello_sent(Instant::now()));
let wait = peer_state.next_hello_wait();
- peer_state.hello_state = HelloState::AwaitingReply {
- next_attempt: Instant::now() + wait,
- };
+ let next_attempt = Instant::now() + wait;
+ peer_state.hello_state = HelloState::AwaitingReply { next_attempt };
+ state.peers_due.by(next_attempt);
}
}
@@ -413,6 +413,8 @@ pub(super) async fn establish_peer(
if from_hello || peer_state.hello_state != HelloState::Established {
peer_state.hello_state = HelloState::Established;
peer_state.reset_sync();
+ // Keepalives start.
+ state.peers_due.now();
info!(peer = %peer, from_hello, "Handshake complete; sync state reset");
}