summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rust/src/web.rs17
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();