Skip to main content

rustp2p_reliable/
config.rs

1use rust_p2p_core::tunnel::config::TunnelConfig;
2
3pub struct Config {
4    pub(crate) tunnel_config: TunnelConfig,
5    pub(crate) tcp_stun_servers: Vec<String>,
6    pub(crate) udp_stun_servers: Vec<String>,
7}
8impl Config {
9    pub fn new(tunnel_config: TunnelConfig) -> Self {
10        Self {
11            tunnel_config,
12            tcp_stun_servers: vec![
13                "stun.flashdance.cx".to_string(),
14                "stun.sipnet.net".to_string(),
15                "stun.nextcloud.com:443".to_string(),
16            ],
17            udp_stun_servers: vec![
18                "stun.miwifi.com".to_string(),
19                "stun.chat.bilibili.com".to_string(),
20                "stun.hitv.com".to_string(),
21                "stun.l.google.com:19302".to_string(),
22                "stun1.l.google.com:19302".to_string(),
23                "stun2.l.google.com:19302".to_string(),
24            ],
25        }
26    }
27    pub fn set_tcp_stun_servers(&mut self, tcp_stun_servers: Vec<String>) {
28        self.tcp_stun_servers = tcp_stun_servers
29    }
30    pub fn set_udp_stun_servers(&mut self, udp_stun_servers: Vec<String>) {
31        self.udp_stun_servers = udp_stun_servers
32    }
33}