ip_discovery/stun/
providers.rs1use super::StunProvider;
4use crate::provider::BoxedBlockingProvider;
5#[cfg(feature = "tokio")]
6use crate::provider::BoxedProvider;
7
8pub fn google() -> StunProvider {
10 StunProvider::new("Google STUN", "stun.l.google.com", 19302)
11}
12
13pub fn google1() -> StunProvider {
15 StunProvider::new("Google STUN 1", "stun1.l.google.com", 19302)
16}
17
18pub fn google2() -> StunProvider {
20 StunProvider::new("Google STUN 2", "stun2.l.google.com", 19302)
21}
22
23pub fn cloudflare() -> StunProvider {
25 StunProvider::new("Cloudflare STUN", "stun.cloudflare.com", 3478)
26}
27
28pub fn provider_names() -> &'static [&'static str] {
30 &[
31 "Google STUN",
32 "Google STUN 1",
33 "Google STUN 2",
34 "Cloudflare STUN",
35 ]
36}
37
38pub fn default_blocking_providers() -> Vec<BoxedBlockingProvider> {
40 vec![
41 Box::new(google()),
42 Box::new(cloudflare()),
43 Box::new(google1()),
44 Box::new(google2()),
45 ]
46}
47
48#[cfg(feature = "tokio")]
50pub fn default_providers() -> Vec<BoxedProvider> {
51 vec![
52 Box::new(google()),
53 Box::new(cloudflare()),
54 Box::new(google1()),
55 Box::new(google2()),
56 ]
57}