diff --git a/aquatic_http_load_test/src/config.rs b/aquatic_http_load_test/src/config.rs index d104c41..5179f75 100644 --- a/aquatic_http_load_test/src/config.rs +++ b/aquatic_http_load_test/src/config.rs @@ -22,6 +22,7 @@ pub struct Config { /// Announce/scrape url suffix. Use `/my_token/` to get `/announce/my_token/` pub url_suffix: String, pub duration: usize, + pub keep_alive: bool, pub torrents: TorrentConfig, pub cpu_pinning: CpuPinningConfigDesc, } @@ -60,6 +61,7 @@ impl Default for Config { connection_creation_interval_ms: 10, url_suffix: "".into(), duration: 0, + keep_alive: true, torrents: TorrentConfig::default(), cpu_pinning: Default::default(), } diff --git a/aquatic_http_load_test/src/network.rs b/aquatic_http_load_test/src/network.rs index 9b42ba6..0c8d02f 100644 --- a/aquatic_http_load_test/src/network.rs +++ b/aquatic_http_load_test/src/network.rs @@ -138,6 +138,10 @@ impl Connection { loop { self.send_request().await?; self.read_response().await?; + + if !self.config.keep_alive { + break Ok(()); + } } }