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