add udp timeout option

This commit is contained in:
Remy D. Farley 2024-04-03 14:13:18 +00:00
parent 74e5220d08
commit 361cf95f4e
2 changed files with 6 additions and 2 deletions

View file

@ -45,6 +45,10 @@ pub struct Args {
#[arg(long, value_name = "seconds", default_value = "600")]
pub tcp_timeout: u64,
/// UDP timeout in seconds
#[arg(long, value_name = "seconds", default_value = "10")]
pub udp_timeout: u64,
/// Verbosity level
#[arg(short, long, value_name = "level", value_enum, default_value = "info")]
pub verbosity: ArgVerbosity,
@ -62,6 +66,7 @@ impl Default for Args {
dns_addr: "8.8.8.8".parse().unwrap(),
bypass: vec![],
tcp_timeout: 600,
udp_timeout: 10,
verbosity: ArgVerbosity::Info,
}
}

View file

@ -50,7 +50,6 @@ mod virtual_dns;
const DNS_PORT: u16 = 53;
const MAX_SESSIONS: u64 = 200;
const UDP_TIMEOUT_SEC: u64 = 10; // 10 seconds
static TASK_COUNT: std::sync::atomic::AtomicU64 = std::sync::atomic::AtomicU64::new(0);
use std::sync::atomic::Ordering::Relaxed;
@ -87,7 +86,7 @@ where
let mut ipstack_config = ipstack::IpStackConfig::default();
ipstack_config.mtu(mtu);
ipstack_config.tcp_timeout(std::time::Duration::from_secs(args.tcp_timeout));
ipstack_config.udp_timeout(std::time::Duration::from_secs(UDP_TIMEOUT_SEC));
ipstack_config.udp_timeout(std::time::Duration::from_secs(args.udp_timeout));
let mut ip_stack = ipstack::IpStack::new(ipstack_config, device);