use crate::models::Version;
pub const VERSIONS: &[Version] = &[Version::V3_0, Version::V2_0, Version::V1_1];
#[derive(Debug, Clone, Copy, PartialEq)]
pub struct Limits {
pub max_message_size: u64,
pub max_message_body_size: u64,
pub max_startline_size: u32,
pub max_headers_size: u64,
pub max_header_count: u16,
pub max_chunk_header_size: u32,
pub max_pending_handshakes: u32,
pub read_timeout: f64,
pub write_timeout: f64,
pub receive_timeout: f64,
pub send_timeout: f64,
pub max_concurrent_streams: u32,
pub max_connection_buffer_size: u64,
pub max_premature_resets: u32,
pub max_idle_frames: u32,
pub qpack_block_timeout: f64,
pub max_peer_uni_streams: u32,
pub max_outstanding_sections: u32,
pub ws_linger_timeout: f64,
pub ws_max_fragments: u16,
pub max_cookies: u32,
pub max_cookies_per_domain: u16,
pub max_hsts_entries: u32,
}
impl Default for Limits {
fn default() -> Self {
Self {
max_message_size: 64 * 1024 * 1024,
max_message_body_size: 64 * 1024 * 1024,
max_startline_size: 8 * 1024,
max_headers_size: 64 * 1024,
max_header_count: 100,
max_chunk_header_size: 128,
max_pending_handshakes: 256,
read_timeout: 30.0,
write_timeout: 30.0,
receive_timeout: 300.0,
send_timeout: 1800.0,
max_concurrent_streams: 100,
max_connection_buffer_size: 64 * 1024 * 1024,
max_premature_resets: 1000,
max_idle_frames: 1000,
qpack_block_timeout: 5.0,
max_peer_uni_streams: 32,
max_outstanding_sections: 512,
ws_linger_timeout: 10.0,
ws_max_fragments: 4096,
max_cookies: 3000,
max_cookies_per_domain: 50,
max_hsts_entries: 4096,
}
}
}