pub enum PathEvent {
New(SocketAddr, SocketAddr),
Validated(SocketAddr, SocketAddr),
FailedValidation(SocketAddr, SocketAddr),
Closed(SocketAddr, SocketAddr),
ReusedSourceConnectionId(u64, (SocketAddr, SocketAddr), (SocketAddr, SocketAddr)),
PeerMigrated(SocketAddr, SocketAddr),
}Expand description
A path-specific event.
Variants§
New(SocketAddr, SocketAddr)
A new network path (local address, peer address) has been seen on a received packet. Note that this event is only triggered for servers, as the client is responsible from initiating new paths. The application may then probe this new path, if desired.
Validated(SocketAddr, SocketAddr)
The related network path between local SocketAddr and peer
SocketAddr has been validated.
FailedValidation(SocketAddr, SocketAddr)
The related network path between local SocketAddr and peer
SocketAddr failed to be validated. This network path will not be used
anymore, unless the application requests probing this path again.
Closed(SocketAddr, SocketAddr)
The related network path between local SocketAddr and peer
SocketAddr has been closed and is now unusable on this connection.
ReusedSourceConnectionId(u64, (SocketAddr, SocketAddr), (SocketAddr, SocketAddr))
The stack observes that the Source Connection ID with the given sequence
number, initially used by the peer over the first pair of SocketAddrs,
is now reused over the second pair of SocketAddrs.
PeerMigrated(SocketAddr, SocketAddr)
The connection observed that the peer migrated over the network path
denoted by the pair of SocketAddr, i.e., non-probing packets have been
received on this network path. This is a server side only event.
Note that this event is only raised if the path has been validated.
Trait Implementations§
impl Eq for PathEvent
impl StructuralPartialEq for PathEvent
Auto Trait Implementations§
impl Freeze for PathEvent
impl RefUnwindSafe for PathEvent
impl Send for PathEvent
impl Sync for PathEvent
impl Unpin for PathEvent
impl UnwindSafe for PathEvent
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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>
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>
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 more