fix: panic app when cannot send prove (#15)

Co-authored-by: Toan Pham <toan@betanet.co.il>
This commit is contained in:
Toan Pham 2024-10-21 19:08:32 +07:00 committed by GitHub
parent 7b3383123c
commit 0bff6e31df
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -32,7 +32,6 @@ use nexus_core::{
init_circuit_trace, key::CanonicalSerialize, pp::gen_vm_pp, prove_seq_step, types::*,
},
};
use std::env;
use zstd::stream::Encoder;
use rand::{ RngCore };
@ -125,10 +124,25 @@ async fn main() {
)),
};
client
.send(Message::Binary(registration.encode_to_vec()))
.await
.unwrap();
let mut retries = 0;
let max_retries = 5;
loop {
if let Err(e) = client.send(Message::Binary(registration.encode_to_vec())).await {
eprintln!("Failed to send message: {:?}, attempt {}/{}", e, retries + 1, max_retries);
retries += 1;
if retries >= max_retries {
eprintln!("Max retries reached, exiting...");
break;
}
// Add a delay before retrying
tokio::time::sleep(tokio::time::Duration::from_secs(u64::pow(2, retries))).await;
} else {
break;
}
}
track(
"register".into(),
@ -261,10 +275,26 @@ async fn main() {
}),
);
progress_time = SystemTime::now();
client
.send(Message::Binary(progress.encode_to_vec()))
.await
.unwrap();
let mut retries = 0;
let max_retries = 5;
loop {
if let Err(e) = client.send(Message::Binary(progress.encode_to_vec())).await {
eprintln!("Failed to send message: {:?}, attempt {}/{}", e, retries + 1, max_retries);
retries += 1;
if retries >= max_retries {
eprintln!("Max retries reached, exiting...");
break;
}
// Add a delay before retrying
tokio::time::sleep(tokio::time::Duration::from_secs(u64::pow(2, retries))).await;
} else {
break;
}
}
if step == end - 1 {
let mut buf = Vec::new();
let mut writer = Box::new(&mut buf);