mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-03-31 17:55:36 +00:00
aquatic http load test: add option for closing conn after response
This commit is contained in:
parent
f9d85117b1
commit
8a3f3fa330
2 changed files with 8 additions and 2 deletions
|
|
@ -18,6 +18,7 @@ pub struct Config {
|
||||||
#[derive(Clone, Debug, Serialize, Deserialize)]
|
#[derive(Clone, Debug, Serialize, Deserialize)]
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub struct NetworkConfig {
|
pub struct NetworkConfig {
|
||||||
|
pub close_connection_after_response: bool,
|
||||||
pub connection_creation_interval: usize,
|
pub connection_creation_interval: usize,
|
||||||
pub poll_timeout_microseconds: u64,
|
pub poll_timeout_microseconds: u64,
|
||||||
pub poll_event_capacity: usize,
|
pub poll_event_capacity: usize,
|
||||||
|
|
@ -59,6 +60,7 @@ impl Default for Config {
|
||||||
impl Default for NetworkConfig {
|
impl Default for NetworkConfig {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
Self {
|
Self {
|
||||||
|
close_connection_after_response: false,
|
||||||
connection_creation_interval: 40,
|
connection_creation_interval: 40,
|
||||||
poll_timeout_microseconds: 47,
|
poll_timeout_microseconds: 47,
|
||||||
poll_event_capacity: 1024,
|
poll_event_capacity: 1024,
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,7 @@ impl Connection {
|
||||||
|
|
||||||
pub fn read_response(
|
pub fn read_response(
|
||||||
&mut self,
|
&mut self,
|
||||||
|
config: &Config,
|
||||||
state: &LoadTestState,
|
state: &LoadTestState,
|
||||||
) -> bool { // bool = remove connection
|
) -> bool { // bool = remove connection
|
||||||
loop {
|
loop {
|
||||||
|
|
@ -93,7 +94,7 @@ impl Connection {
|
||||||
self.bytes_read = 0;
|
self.bytes_read = 0;
|
||||||
self.can_send = true;
|
self.can_send = true;
|
||||||
|
|
||||||
break false;
|
break config.network.close_connection_after_response;
|
||||||
},
|
},
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
eprintln!(
|
eprintln!(
|
||||||
|
|
@ -218,7 +219,10 @@ pub fn run_socket_thread(
|
||||||
let token = event.token();
|
let token = event.token();
|
||||||
|
|
||||||
if let Some(connection) = connections.get_mut(&token.0){
|
if let Some(connection) = connections.get_mut(&token.0){
|
||||||
let remove_connection = connection.read_response(&state);
|
let remove_connection = connection.read_response(
|
||||||
|
config,
|
||||||
|
&state
|
||||||
|
);
|
||||||
|
|
||||||
if remove_connection {
|
if remove_connection {
|
||||||
connections.remove(&token.0);
|
connections.remove(&token.0);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue