use crate::stream::StreamConfig;
use std::net::SocketAddr;
use std::time::Duration;
#[derive(Debug, Clone)]
pub struct TcpConfig {
pub bind_addr: SocketAddr,
pub max_connections: usize,
pub buffer_size: usize,
pub read_timeout: Duration,
pub write_timeout: Duration,
}
impl Default for TcpConfig {
fn default() -> Self {
Self {
bind_addr: "127.0.0.1:0".parse().unwrap(),
max_connections: 100,
buffer_size: 1024,
read_timeout: Duration::from_secs(30),
write_timeout: Duration::from_secs(30),
}
}
}
impl From<TcpConfig> for StreamConfig {
fn from(config: TcpConfig) -> Self {
Self {
bind_addr: config.bind_addr,
max_connections: config.max_connections,
buffer_size: config.buffer_size,
read_timeout: config.read_timeout,
write_timeout: config.write_timeout,
}
}
}