pub enum NatTraversalEvent {
Show 13 variants
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,
},
ExternalAddressDiscovered {
reported_by: SocketAddr,
address: SocketAddr,
},
}Expand description
Events generated during NAT traversal process
Variants§
CandidateDiscovered
New candidate address discovered
Fields
candidate: CandidateAddressThe discovered candidate address
CoordinationRequested
Coordination request sent to bootstrap
Fields
coordinator: SocketAddrCoordinator address used for synchronization
CoordinationSynchronized
Peer coordination synchronized
Fields
HolePunchingStarted
Hole punching started
Fields
targets: Vec<SocketAddr>Target addresses to punch
PathValidated
Path validated successfully
Fields
address: SocketAddrValidated remote address
CandidateValidated
Candidate validated successfully
Fields
candidate_address: SocketAddrValidated candidate address
TraversalSucceeded
NAT traversal completed successfully
Fields
final_address: SocketAddrFinal established address
ConnectionEstablished
Connection established after NAT traversal
Fields
remote_address: SocketAddrThe socket address where the connection was established
TraversalFailed
NAT traversal failed
Fields
error: NatTraversalErrorThe NAT traversal error that occurred
ConnectionLost
Connection lost
PhaseTransition
Phase transition in NAT traversal state machine
SessionStateChanged
Session state changed
Fields
new_state: ConnectionStateNew connection state
ExternalAddressDiscovered
External address discovered via QUIC extension
Fields
reported_by: SocketAddrThe address that reported our address
address: SocketAddrOur observed external address
Trait Implementations§
Source§impl Clone for NatTraversalEvent
impl Clone for NatTraversalEvent
Source§fn clone(&self) -> NatTraversalEvent
fn clone(&self) -> NatTraversalEvent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more