adding helper can_sync

This commit is contained in:
Nikolay Volf 2016-03-17 13:14:06 +01:00 committed by arkpar
parent c15e78cd95
commit 13d0d6d006

View File

@ -627,6 +627,13 @@ impl ChainSync {
self.state = SyncState::Waiting; self.state = SyncState::Waiting;
} }
fn can_sync(&self) -> bool {
match self.state {
SyncState::Idle | SyncState::NotSynced | SyncState::FullySynced => true,
_ => false
}
}
/// Find something to do for a peer. Called for a new peer or when a peer is done with it's task. /// Find something to do for a peer. Called for a new peer or when a peer is done with it's task.
fn sync_peer(&mut self, io: &mut SyncIo, peer_id: PeerId, force: bool) { fn sync_peer(&mut self, io: &mut SyncIo, peer_id: PeerId, force: bool) {
let (peer_latest, peer_difficulty) = { let (peer_latest, peer_difficulty) = {
@ -646,7 +653,7 @@ impl ChainSync {
if force || peer_difficulty > syncing_difficulty { if force || peer_difficulty > syncing_difficulty {
// start sync // start sync
self.syncing_difficulty = peer_difficulty; self.syncing_difficulty = peer_difficulty;
if self.state == SyncState::Idle || self.state == SyncState::NotSynced { if self.can_sync() {
self.state = SyncState::Blocks; self.state = SyncState::Blocks;
} }
trace!(target: "sync", "Starting sync with better chain"); trace!(target: "sync", "Starting sync with better chain");