pub struct HolePunchAttempt {
pub peer_id: String,
pub local_port: u16,
pub remote_addr: String,
pub attempts: u32,
pub max_attempts: u32,
pub status: HolePunchStatus,
pub started_at: u64,
}Expand description
Tracks a single hole-punch attempt to a peer
Fields§
§peer_id: StringPeer identifier
local_port: u16Local port used for punching
remote_addr: StringRemote address to punch towards
attempts: u32Number of attempts made so far
max_attempts: u32Maximum attempts before giving up
status: HolePunchStatusCurrent status
started_at: u64Unix timestamp when the attempt started
Trait Implementations§
Source§impl Clone for HolePunchAttempt
impl Clone for HolePunchAttempt
Source§fn clone(&self) -> HolePunchAttempt
fn clone(&self) -> HolePunchAttempt
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 HolePunchAttempt
impl RefUnwindSafe for HolePunchAttempt
impl Send for HolePunchAttempt
impl Sync for HolePunchAttempt
impl Unpin for HolePunchAttempt
impl UnsafeUnpin for HolePunchAttempt
impl UnwindSafe for HolePunchAttempt
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more