pub enum NatTraversalEvent {
CandidateDiscovered {
peer_id: PeerId,
candidate: CandidateAddress,
},
CoordinationRequested {
peer_id: PeerId,
coordinator: SocketAddr,
},
CoordinationSynchronized {
peer_id: PeerId,
round_id: VarInt,
},
HolePunchingStarted {
peer_id: PeerId,
targets: Vec<SocketAddr>,
},
PathValidated {
peer_id: PeerId,
address: SocketAddr,
rtt: Duration,
},
CandidateValidated {
peer_id: PeerId,
candidate_address: SocketAddr,
},
TraversalSucceeded {
peer_id: PeerId,
final_address: SocketAddr,
total_time: Duration,
},
ConnectionEstablished {
peer_id: PeerId,
remote_address: SocketAddr,
},
TraversalFailed {
peer_id: PeerId,
error: NatTraversalError,
fallback_available: bool,
},
ConnectionLost {
peer_id: PeerId,
reason: String,
},
PhaseTransition {
peer_id: PeerId,
from_phase: TraversalPhase,
to_phase: TraversalPhase,
},
SessionStateChanged {
peer_id: PeerId,
new_state: ConnectionState,
},
}Expand description
Events generated during NAT traversal process
Variants§
CandidateDiscovered
New candidate address discovered
CoordinationRequested
Coordination request sent to bootstrap
CoordinationSynchronized
Peer coordination synchronized
HolePunchingStarted
Hole punching started
PathValidated
Path validated successfully
CandidateValidated
Candidate validated successfully
TraversalSucceeded
NAT traversal completed successfully
ConnectionEstablished
Connection established after NAT traversal
Fields
§
remote_address: SocketAddrThe socket address where the connection was established
TraversalFailed
NAT traversal failed
ConnectionLost
Connection lost
PhaseTransition
Phase transition in NAT traversal state machine
SessionStateChanged
Session state changed
Trait Implementations§
Source§impl Clone for NatTraversalEvent
impl Clone for NatTraversalEvent
Source§fn clone(&self) -> NatTraversalEvent
fn clone(&self) -> NatTraversalEvent
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 moreAuto Trait Implementations§
impl Freeze for NatTraversalEvent
impl RefUnwindSafe for NatTraversalEvent
impl Send for NatTraversalEvent
impl Sync for NatTraversalEvent
impl Unpin for NatTraversalEvent
impl UnwindSafe for NatTraversalEvent
Blanket Implementations§
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