From f561ca979447975ab07db1ae34777b9c19ec3637 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20Frosteg=C3=A5rd?= Date: Sat, 1 Aug 2020 23:20:55 +0200 Subject: [PATCH] ws load test: add config field for connection creation interval --- aquatic_ws_load_test/src/config.rs | 2 ++ aquatic_ws_load_test/src/network.rs | 6 ++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/aquatic_ws_load_test/src/config.rs b/aquatic_ws_load_test/src/config.rs index c78818b..2caff37 100644 --- a/aquatic_ws_load_test/src/config.rs +++ b/aquatic_ws_load_test/src/config.rs @@ -18,6 +18,7 @@ pub struct Config { #[derive(Clone, Debug, Serialize, Deserialize)] #[serde(default)] pub struct NetworkConfig { + pub connection_creation_interval: usize, pub poll_timeout_microseconds: u64, pub poll_event_capacity: usize, } @@ -58,6 +59,7 @@ impl Default for Config { impl Default for NetworkConfig { fn default() -> Self { Self { + connection_creation_interval: 40, poll_timeout_microseconds: 1000, poll_event_capacity: 4096, } diff --git a/aquatic_ws_load_test/src/network.rs b/aquatic_ws_load_test/src/network.rs index 6bbeb3d..d4f0619 100644 --- a/aquatic_ws_load_test/src/network.rs +++ b/aquatic_ws_load_test/src/network.rs @@ -241,15 +241,13 @@ impl Connection { pub type ConnectionMap = HashMap; -const CREATE_CONN_INTERVAL: usize = 2 ^ 30; - - pub fn run_socket_thread( config: &Config, state: LoadTestState, num_initial_requests: usize, ) { let timeout = Duration::from_micros(config.network.poll_timeout_microseconds); + let create_conn_interval = 2 ^ config.network.connection_creation_interval; let mut connections: ConnectionMap = HashMap::with_capacity(config.num_connections); let mut poll = Poll::new().expect("create poll"); @@ -351,7 +349,7 @@ pub fn run_socket_thread( } // Slowly create new connections - if token_counter < config.num_connections && iter_counter % CREATE_CONN_INTERVAL == 0 { + if token_counter < config.num_connections && iter_counter % create_conn_interval == 0 { let res = Connection::create_and_register( config, &mut connections,