use std::sync::Arc;
use quinn_proto::{ClientConfig, EndpointConfig, ServerConfig};
pub struct QuicConfig {
pub endpoint_config: Arc<EndpointConfig>,
pub server_config: Option<Arc<ServerConfig>>,
pub client_config: Option<ClientConfig>,
pub send_queue_capacity: usize,
pub allow_mtud: bool,
pub rng_seed: Option<[u8; 32]>,
}
impl QuicConfig {
pub fn server(server_config: Arc<ServerConfig>) -> Self {
Self {
endpoint_config: Arc::new(EndpointConfig::default()),
server_config: Some(server_config),
client_config: None,
send_queue_capacity: 4096,
allow_mtud: true,
rng_seed: None,
}
}
pub fn client(client_config: ClientConfig) -> Self {
Self {
endpoint_config: Arc::new(EndpointConfig::default()),
server_config: None,
client_config: Some(client_config),
send_queue_capacity: 4096,
allow_mtud: true,
rng_seed: None,
}
}
}