diff options
| -rw-r--r-- | rust/src/web.rs | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/rust/src/web.rs b/rust/src/web.rs index 70786d3..a468cc7 100644 --- a/rust/src/web.rs +++ b/rust/src/web.rs @@ -298,16 +298,23 @@ async fn main() -> std::io::Result<()> { async fn send_tests(client_m: Arc<Mutex<Client>>) { loop { - let mut client = client_m.lock().await; - tokio::time::sleep(client.time_to_next_test()).await; + let sleep = sleep_time(&client_m).await; + tokio::time::sleep(sleep).await; - let (input, expected) = client.generate_expr(); - let response = send_test(&input, &client.url).await; + { + let mut client = client_m.lock().await; + let (input, expected) = client.generate_expr(); + let response = send_test(&input, &client.url).await; - client.check_result(&expected, &response); + client.check_result(&expected, &response); + } } } +async fn sleep_time(client_m: &Arc<Mutex<Client>>) -> Duration { + client_m.lock().await.time_to_next_test() +} + async fn send_test(input: &String, url: &String) -> Result<String, TestResult> { info!("Sending {} to {}", input, url); let body = input.clone(); |
