Don't call get_height every block

This commit is contained in:
Luke Parker
2023-07-05 20:11:31 -04:00
parent 249f7b904f
commit 93fe8a52dd

View File

@@ -118,7 +118,15 @@ async fn main() {
let mut rpc_i = 0;
let mut handles: Vec<JoinHandle<()>> = vec![];
while block_i < main_rpc.get_height().await.expect("couldn't call get_height") {
let mut height = 0;
loop {
let new_height = main_rpc.get_height().await.expect("couldn't call get_height");
if new_height == height {
break;
}
height = new_height;
while block_i < height {
if handles.len() >= async_parallelism {
// Guarantee one handle is complete
handles.swap_remove(0).await.unwrap();
@@ -139,3 +147,4 @@ async fn main() {
block_i += 1;
}
}
}