Changing some constants for quic and quiche

This commit is contained in:
godmodegalactus 2024-06-04 16:44:17 +02:00
parent b145a39d7c
commit e3d1a3fa0b
No known key found for this signature in database
GPG Key ID: 22DA4A30887FDA3C
3 changed files with 38 additions and 30 deletions

View File

@ -1,9 +1,9 @@
pub const DEFAULT_MAX_STREAMS: u64 = 96 * 1024;
pub const MAX_ALLOWED_PARTIAL_RESPONSES: u64 = DEFAULT_MAX_STREAMS - 1;
pub const DEFAULT_MAX_RECIEVE_WINDOW_SIZE: u64 = 1024 * 1024; // 1 MBs
pub const DEFAULT_MAX_RECIEVE_WINDOW_SIZE: u64 = 256 * 1024 * 1024; // 256 MBs
pub const DEFAULT_CONNECTION_TIMEOUT: u64 = 10;
pub const DEFAULT_MAX_NB_CONNECTIONS: u64 = 10;
pub const DEFAULT_MAX_ACK_DELAY: u64 = 400;
pub const DEFAULT_MAX_ACK_DELAY: u64 = 100;
pub const DEFAULT_ACK_EXPONENT: u64 = 3;
pub const ALPN_GEYSER_PROTOCOL_ID: &[u8] = b"geyser";
pub const MAX_DATAGRAM_SIZE: usize = 1350; // MAX: 65527

View File

@ -47,6 +47,8 @@ pub fn configure_server(quic_parameter: QuicParameters) -> anyhow::Result<quiche
config.set_active_connection_id_limit(max_number_of_connections);
config.set_max_ack_delay(maximum_ack_delay);
config.set_ack_delay_exponent(ack_exponent);
config.set_initial_congestion_window_packets(1024);
config.set_max_stream_window(256 * 1024 * 1024);
config.enable_pacing(false);
Ok(config)
}

View File

@ -2,7 +2,7 @@ use std::{
collections::{BTreeMap, HashMap},
net::SocketAddr,
sync::{
atomic::AtomicU64,
atomic::{AtomicBool, AtomicU64},
mpsc::{self, Sender},
Arc, Mutex, RwLock,
},
@ -327,6 +327,7 @@ fn create_client_task(
let number_of_readable_streams = Arc::new(AtomicU64::new(0));
let number_of_writable_streams = Arc::new(AtomicU64::new(0));
let messages_added = Arc::new(AtomicU64::new(0));
let quit = Arc::new(AtomicBool::new(false));
{
let number_of_loops = number_of_loops.clone();
@ -335,33 +336,37 @@ fn create_client_task(
let number_of_readable_streams = number_of_readable_streams.clone();
let number_of_writable_streams = number_of_writable_streams.clone();
let messages_added = messages_added.clone();
std::thread::spawn(move || loop {
std::thread::sleep(Duration::from_secs(1));
println!("---------------------------------");
println!(
"number of loop : {}",
number_of_loops.swap(0, std::sync::atomic::Ordering::Relaxed)
);
println!(
"number of packets read : {}",
number_of_meesages_from_network.swap(0, std::sync::atomic::Ordering::Relaxed)
);
println!(
"number of packets write : {}",
number_of_meesages_to_network.swap(0, std::sync::atomic::Ordering::Relaxed)
);
println!(
"number_of_readable_streams : {}",
number_of_readable_streams.swap(0, std::sync::atomic::Ordering::Relaxed)
);
println!(
"number_of_writable_streams : {}",
number_of_writable_streams.swap(0, std::sync::atomic::Ordering::Relaxed)
);
println!(
"messages_added : {}",
messages_added.swap(0, std::sync::atomic::Ordering::Relaxed)
);
let quit = quit.clone();
std::thread::spawn(move || {
while !quit.load(std::sync::atomic::Ordering::Relaxed) {
std::thread::sleep(Duration::from_secs(1));
println!("---------------------------------");
println!(
"number of loop : {}",
number_of_loops.swap(0, std::sync::atomic::Ordering::Relaxed)
);
println!(
"number of packets read : {}",
number_of_meesages_from_network
.swap(0, std::sync::atomic::Ordering::Relaxed)
);
println!(
"number of packets write : {}",
number_of_meesages_to_network.swap(0, std::sync::atomic::Ordering::Relaxed)
);
println!(
"number_of_readable_streams : {}",
number_of_readable_streams.swap(0, std::sync::atomic::Ordering::Relaxed)
);
println!(
"number_of_writable_streams : {}",
number_of_writable_streams.swap(0, std::sync::atomic::Ordering::Relaxed)
);
println!(
"messages_added : {}",
messages_added.swap(0, std::sync::atomic::Ordering::Relaxed)
);
}
});
}
@ -511,6 +516,7 @@ fn create_client_task(
break;
}
}
quit.store(true, std::sync::atomic::Ordering::Relaxed);
});
}