INNER CODE UNIT · Rust
wiw_endpoints_with_fallback
CluvexStudio/Aether · aether/src/lib.rs:306
fn wiw_endpoints_with_fallback(lookup: &dyn Fn(&str) -> Option<String>) -> Result<WiwEndpoints> {
let mut chosen = wiw_endpoints_of(lookup)?;
if chosen.outer.is_some() {
return Ok(chosen);
}
let forced = lookup("AETHER_WG_PEER").or_else(|| lookup("AETHER_PEER"));
let Some(forced) = forced else {
return Ok(chosen);
};
let peers = parse_endpoint_list(&forced)?;
chosen.outer = peers.first().copied();
if chosen.inner.is_none() {
chosen.inner = peers.get(1).copied();
}