Do not send regular status updates during syncing
@@ -714,6 +714,9 @@ impl<TSpec: EthSpec> Stream for PeerManager<TSpec> {
}
}
+ // We don't want to update peers during syncing, since this may result in a new chain being
+ // synced which leads to inefficient re-downloads of blocks.
+ if !self.network_globals.is_syncing() {
loop {
match self.status_peers.poll_next_unpin(cx) {
Poll::Ready(Some(Ok(peer_id))) => {
@@ -726,6 +729,7 @@ impl<TSpec: EthSpec> Stream for PeerManager<TSpec> {
Poll::Ready(None) | Poll::Pending => break,
}
}
+ }
if !self.events.is_empty() {
return Poll::Ready(Some(self.events.remove(0)));
