Skip to main content

antenna_client_shared/
ice.rs

1const GOOGLE_STUN: &str = "stun:stun.l.google.com:19302";
2
3/// One STUN or TURN server entry passed to `Peer::with_ice_servers`.
4#[derive(Clone)]
5pub struct IceServerConfig {
6    pub urls: Vec<String>,
7    pub username: Option<String>,
8    pub credential: Option<String>,
9}
10
11impl IceServerConfig {
12    pub fn new(urls: Vec<String>) -> Self {
13        Self {
14            urls,
15            username: None,
16            credential: None,
17        }
18    }
19
20    pub fn with_credentials(urls: Vec<String>, username: String, credential: String) -> Self {
21        Self {
22            urls,
23            username: Some(username),
24            credential: Some(credential),
25        }
26    }
27
28    pub fn default_stun() -> Vec<Self> {
29        vec![Self::new(vec![GOOGLE_STUN.into()])]
30    }
31}