From 8b1548dcfdeca71984b068a33e63117fc6f767cc Mon Sep 17 00:00:00 2001 From: Robert Habermeier Date: Tue, 18 Jul 2017 14:13:41 +0200 Subject: [PATCH] bump last tick just before printing info and restore sync detection --- parity/informant.rs | 6 +++--- rpc/src/v1/helpers/block_import.rs | 7 ++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/parity/informant.rs b/parity/informant.rs index 4c3b4aca22f..1935ec9b6f8 100644 --- a/parity/informant.rs +++ b/parity/informant.rs @@ -152,7 +152,7 @@ impl InformantData for FullNodeInformantData { max_peers: status.current_max_peers(net_config.min_peers, net_config.max_peers), })) } - _ => (is_major_importing(None, queue_info.clone()), None), + _ => (is_major_importing(self.sync.as_ref().map(|s| s.status().state), queue_info.clone()), None), }; Report { @@ -254,8 +254,6 @@ impl Informant { return; } - *self.last_tick.write() = Instant::now(); - let (client_report, full_report) = { let mut last_report = self.last_report.lock(); let full_report = self.target.report(); @@ -287,6 +285,8 @@ impl Informant { return; } + *self.last_tick.write() = Instant::now(); + let paint = |c: Style, t: String| match self.with_color && stdout_isatty() { true => format!("{}", c.paint(t)), false => t, diff --git a/rpc/src/v1/helpers/block_import.rs b/rpc/src/v1/helpers/block_import.rs index 076893df1d2..3c3f84635d6 100644 --- a/rpc/src/v1/helpers/block_import.rs +++ b/rpc/src/v1/helpers/block_import.rs @@ -21,9 +21,10 @@ use ethsync::SyncState; /// Check if client is during major sync or during block import. pub fn is_major_importing(sync_state: Option, queue_info: BlockQueueInfo) -> bool { - let is_syncing_state = sync_state.map_or(false, |s| - s != SyncState::Idle && s != SyncState::NewBlocks - ); + let is_syncing_state = sync_state.map_or(false, |s| match s { + SyncState::Idle | SyncState::NewBlocks | SyncState::WaitingPeers => false, + _ => true, + }); let is_verifying = queue_info.unverified_queue_size + queue_info.verified_queue_size > 3; is_verifying || is_syncing_state }