mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-23 09:41:07 +00:00
Fixed block import command error handling (#3056)
This commit is contained in:
@@ -21,7 +21,7 @@ use futures::prelude::*;
|
|||||||
use log::{info, warn};
|
use log::{info, warn};
|
||||||
|
|
||||||
use runtime_primitives::generic::{SignedBlock, BlockId};
|
use runtime_primitives::generic::{SignedBlock, BlockId};
|
||||||
use runtime_primitives::traits::{SaturatedConversion, Zero, One, Block, Header, NumberFor};
|
use runtime_primitives::traits::{SaturatedConversion, Zero, One, Block, Header};
|
||||||
use consensus_common::import_queue::{ImportQueue, IncomingBlock, Link};
|
use consensus_common::import_queue::{ImportQueue, IncomingBlock, Link};
|
||||||
use network::message;
|
use network::message;
|
||||||
|
|
||||||
@@ -111,8 +111,11 @@ impl WaitLink {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl<B: Block> Link<B> for WaitLink {
|
impl<B: Block> Link<B> for WaitLink {
|
||||||
fn block_imported(&mut self, _hash: &B::Hash, _number: NumberFor<B>) {
|
fn blocks_processed(&mut self, processed_blocks: Vec<B::Hash>, has_error: bool) {
|
||||||
self.imported_blocks += 1;
|
self.imported_blocks += processed_blocks.len() as u64;
|
||||||
|
if has_error {
|
||||||
|
warn!("There was an error importing {} blocks", processed_blocks.len());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -169,13 +172,17 @@ pub fn import_blocks<F, E, R>(
|
|||||||
}
|
}
|
||||||
|
|
||||||
block_count = b;
|
block_count = b;
|
||||||
if b % 1000 == 0 {
|
if b % 1000 == 0 && b != 0 {
|
||||||
info!("#{} blocks were added to the queue", b);
|
info!("#{} blocks were added to the queue", b);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut link = WaitLink::new();
|
let mut link = WaitLink::new();
|
||||||
Ok(futures::future::poll_fn(move || {
|
Ok(futures::future::poll_fn(move || {
|
||||||
|
if exit_recv.try_recv().is_ok() {
|
||||||
|
return Ok(Async::Ready(()));
|
||||||
|
}
|
||||||
|
|
||||||
let blocks_before = link.imported_blocks;
|
let blocks_before = link.imported_blocks;
|
||||||
queue.poll_actions(&mut link);
|
queue.poll_actions(&mut link);
|
||||||
if link.imported_blocks / 1000 != blocks_before / 1000 {
|
if link.imported_blocks / 1000 != blocks_before / 1000 {
|
||||||
|
|||||||
Reference in New Issue
Block a user