pub enum ReachabilityTier {
Upnp {
external_addr: SocketAddr,
},
Stun {
external_addr: SocketAddr,
},
Bridge {
bridge_url: String,
},
}Expand description
Result of the NAT tier selection process during zero-config deployment (spec section 10.12.8).
Determines the relay URL format published in the DID document (spec section 10.12.7).
Variants§
Upnp
Tier 1: UPnP/NAT-PMP port mapping succeeded.
Relay URL: ws://<external-ip>:<port>/scp/v1.
Fields
§
external_addr: SocketAddrExternal address obtained from the gateway.
Stun
Tier 2: STUN hole punching (non-symmetric NAT).
Relay URL: ws://<external-ip>:<port>/scp/v1.
Fields
§
external_addr: SocketAddrExternal address discovered by STUN.
Bridge
Tier 3: Bridge relay (symmetric NAT or all lower tiers failed).
Relay URL: wss://<bridge-domain>/scp/v1?bridge_target=<hex>.
Trait Implementations§
Source§impl Clone for ReachabilityTier
impl Clone for ReachabilityTier
Source§fn clone(&self) -> ReachabilityTier
fn clone(&self) -> ReachabilityTier
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ReachabilityTier
impl Debug for ReachabilityTier
Source§impl PartialEq for ReachabilityTier
impl PartialEq for ReachabilityTier
impl Eq for ReachabilityTier
impl StructuralPartialEq for ReachabilityTier
Auto Trait Implementations§
impl Freeze for ReachabilityTier
impl RefUnwindSafe for ReachabilityTier
impl Send for ReachabilityTier
impl Sync for ReachabilityTier
impl Unpin for ReachabilityTier
impl UnsafeUnpin for ReachabilityTier
impl UnwindSafe for ReachabilityTier
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.