pub use iroh_relay::defaults::DEFAULT_RELAY_QUIC_PORT;
use url::Url;
pub const DEFAULT_HTTP_PORT: u16 = 80;
pub const DEFAULT_HTTPS_PORT: u16 = 443;
pub const DEFAULT_METRICS_PORT: u16 = 9090;
pub mod prod {
use iroh_relay::{RelayConfig, RelayMap, RelayQuicConfig};
use super::*;
pub const NA_EAST_RELAY_HOSTNAME: &str = "use1-1.relay.n0.iroh-canary.iroh.link.";
pub const NA_WEST_RELAY_HOSTNAME: &str = "usw1-1.relay.n0.iroh-canary.iroh.link.";
pub const EU_RELAY_HOSTNAME: &str = "euc1-1.relay.n0.iroh-canary.iroh.link.";
pub const AP_RELAY_HOSTNAME: &str = "aps1-1.relay.n0.iroh-canary.iroh.link.";
pub fn default_relay_map() -> RelayMap {
RelayMap::from_iter([
default_na_east_relay(),
default_na_west_relay(),
default_eu_relay(),
default_ap_relay(),
])
}
pub fn default_na_east_relay() -> RelayConfig {
let url: Url = format!("https://{NA_EAST_RELAY_HOSTNAME}")
.parse()
.expect("default url");
RelayConfig {
url: url.into(),
quic: Some(RelayQuicConfig::default()),
}
}
pub fn default_na_west_relay() -> RelayConfig {
let url: Url = format!("https://{NA_WEST_RELAY_HOSTNAME}")
.parse()
.expect("default url");
RelayConfig {
url: url.into(),
quic: Some(RelayQuicConfig::default()),
}
}
pub fn default_eu_relay() -> RelayConfig {
let url: Url = format!("https://{EU_RELAY_HOSTNAME}")
.parse()
.expect("default_url");
RelayConfig {
url: url.into(),
quic: Some(RelayQuicConfig::default()),
}
}
pub fn default_ap_relay() -> RelayConfig {
let url: Url = format!("https://{AP_RELAY_HOSTNAME}")
.parse()
.expect("default_url");
RelayConfig {
url: url.into(),
quic: Some(RelayQuicConfig::default()),
}
}
}
pub mod staging {
use iroh_relay::{RelayConfig, RelayMap, RelayQuicConfig};
use super::*;
pub const NA_EAST_RELAY_HOSTNAME: &str = "staging-use1-1.relay.iroh.network.";
pub const EU_RELAY_HOSTNAME: &str = "staging-euw1-1.relay.iroh.network.";
pub fn default_relay_map() -> RelayMap {
RelayMap::from_iter([default_na_east_relay(), default_eu_relay()])
}
pub fn default_na_east_relay() -> RelayConfig {
let url: Url = format!("https://{NA_EAST_RELAY_HOSTNAME}")
.parse()
.expect("default url");
RelayConfig {
url: url.into(),
quic: Some(RelayQuicConfig::default()),
}
}
pub fn default_eu_relay() -> RelayConfig {
let url: Url = format!("https://{EU_RELAY_HOSTNAME}")
.parse()
.expect("default_url");
RelayConfig {
url: url.into(),
quic: Some(RelayQuicConfig::default()),
}
}
}
pub(crate) mod timeouts {
use n0_future::time::Duration;
pub(crate) const NET_REPORT_TIMEOUT: Duration = Duration::from_secs(10);
}