Skip to content

Commit

Permalink
Track sync blocks progress.
Browse files Browse the repository at this point in the history
  • Loading branch information
aterentic-ethernal committed Aug 15, 2023
1 parent c165f45 commit 24620ee
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 1 deletion.
12 changes: 11 additions & 1 deletion src/app_client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -447,7 +447,17 @@ pub async fn run(
if let Err(error) = process_block(app_client, &cfg, app_id, &block, pp.clone()).await {
error!(block_number, "Cannot process block: {error}");
} else {
state.lock().unwrap().set_data_verified(block.block_num);
let mut state = state.lock().unwrap();
let synced = state
.confidence_achieved
.as_ref()
.map(|range| block_number < range.first)
.unwrap_or(false);
if synced {
state.set_sync_data_verified(block_number);
} else {
state.set_data_verified(block_number);
}
debug!(block_number, "Block processed");
}
}
Expand Down
5 changes: 5 additions & 0 deletions src/sync_client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -347,6 +347,11 @@ pub async fn run(
process_block(&sync_client, block_number, &cfg, pp, block_verified_sender).await
{
error!(block_number, "Cannot process block: {error:#}");
} else {
state
.lock()
.unwrap()
.set_sync_confidence_achieved(block_number);
}
}
if let Some(lvalset) = last_validator_set {
Expand Down
14 changes: 14 additions & 0 deletions src/types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -574,6 +574,20 @@ impl State {
None => self.data_verified = Some(BlockRange::init(block_number)),
};
}

pub fn set_sync_confidence_achieved(&mut self, block_number: u32) {
match self.sync_confidence_achieved.as_mut() {
Some(range) => range.last = block_number,
None => self.sync_confidence_achieved = Some(BlockRange::init(block_number)),
};
}

pub fn set_sync_data_verified(&mut self, block_number: u32) {
match self.sync_data_verified.as_mut() {
Some(range) => range.last = block_number,
None => self.sync_data_verified = Some(BlockRange::init(block_number)),
};
}
}

#[cfg(test)]
Expand Down

0 comments on commit 24620ee

Please sign in to comment.