Fix running list

This commit is contained in:
Pascal Engélibert 2026-04-08 16:19:25 +02:00
commit 7faccd1025

View file

@ -193,13 +193,13 @@ pub async fn play(
} }
config.key_log = Arc::new(tokio_rustls::rustls::KeyLogFile::new()); config.key_log = Arc::new(tokio_rustls::rustls::KeyLogFile::new());
let config = Arc::new(config); let config = Arc::new(config);
for _i in 0..repeat { for i in 0..repeat {
for (conn_id, (server_name, records)) in records.iter() { for (conn_id, (server_name, records)) in records.iter() {
let limiter = limiter.acquire().await.unwrap(); let limiter = limiter.acquire().await.unwrap();
let connector = TlsConnector::from(config.clone()); let connector = TlsConnector::from(config.clone());
tokio::spawn(async move { tokio::spawn(async move {
let mut running_guard = running.lock().await; let mut running_guard = running.lock().await;
running_guard.insert(*conn_id); running_guard.insert((i, *conn_id));
drop(running_guard); drop(running_guard);
let server_name = let server_name =
ServerName::try_from(String::from_utf8(server_name.clone()).unwrap()) ServerName::try_from(String::from_utf8(server_name.clone()).unwrap())
@ -270,7 +270,7 @@ pub async fn play(
println!("Client: {} / {}", cnt + 1, total); println!("Client: {} / {}", cnt + 1, total);
} }
let mut running_guard = running.lock().await; let mut running_guard = running.lock().await;
running_guard.remove(conn_id); running_guard.remove(&(i, *conn_id));
drop(running_guard); drop(running_guard);
drop(limiter); drop(limiter);
}); });
@ -285,12 +285,12 @@ pub async fn play(
} }
} }
} else { } else {
for _i in 0..repeat { for i in 0..repeat {
for (conn_id, (_server_name, records)) in records.iter() { for (conn_id, (_server_name, records)) in records.iter() {
let limiter = limiter.acquire().await.unwrap(); let limiter = limiter.acquire().await.unwrap();
tokio::spawn(async move { tokio::spawn(async move {
let mut running_guard = running.lock().await; let mut running_guard = running.lock().await;
running_guard.insert(*conn_id); running_guard.insert((i, *conn_id));
drop(running_guard); drop(running_guard);
let stream = TcpStream::connect(connect_to).await.unwrap(); let stream = TcpStream::connect(connect_to).await.unwrap();
let mut stream = crate::codec::StreamCodec::new(stream); let mut stream = crate::codec::StreamCodec::new(stream);
@ -354,7 +354,7 @@ pub async fn play(
println!("Client: {} / {}", cnt, total); println!("Client: {} / {}", cnt, total);
} }
let mut running_guard = running.lock().await; let mut running_guard = running.lock().await;
running_guard.remove(conn_id); running_guard.remove(&(i, *conn_id));
drop(running_guard); drop(running_guard);
drop(limiter); drop(limiter);
}); });