pub struct ProbeComplete {Show 14 fields
pub sequence: Sequence,
pub identifier: TraceId,
pub src_port: Port,
pub dest_port: Port,
pub ttl: TimeToLive,
pub round: RoundId,
pub sent: SystemTime,
pub host: IpAddr,
pub received: SystemTime,
pub icmp_packet_type: IcmpPacketType,
pub tos: Option<TypeOfService>,
pub expected_udp_checksum: Option<Checksum>,
pub actual_udp_checksum: Option<Checksum>,
pub extensions: Option<Extensions>,
}Expand description
A complete network tracing probe.
A probe is considered complete when one of the following responses has been received:
TimeExceeded- an ICMP packet indicating the TTL has expired.EchoReply- an ICMP packet indicating the probe has reached the target.DestinationUnreachable- an ICMP packet indicating the probe could not reach the target.NotApplicable- a non-ICMP response (i.e. for someUDP&TCPprobes).
Fields§
§sequence: SequenceThe sequence of the probe.
identifier: TraceIdThe trace identifier.
src_port: PortThe source port (UDP/TCP only)
dest_port: PortThe destination port (UDP/TCP only)
ttl: TimeToLiveThe TTL of the probe.
round: RoundIdWhich round the probe belongs to.
sent: SystemTimeTimestamp when the probe was sent.
host: IpAddrThe host which responded to the probe.
received: SystemTimeTimestamp when the response to the probe was received.
icmp_packet_type: IcmpPacketTypeThe type of ICMP response packet received for the probe.
tos: Option<TypeOfService>The type of service (DSCP/ECN) of the original datagram.
expected_udp_checksum: Option<Checksum>The expected UDP checksum of the original datagram.
actual_udp_checksum: Option<Checksum>The actual UDP checksum of the original datagram.
extensions: Option<Extensions>The ICMP response extensions.
Trait Implementations§
Source§impl Clone for ProbeComplete
impl Clone for ProbeComplete
Source§fn clone(&self) -> ProbeComplete
fn clone(&self) -> ProbeComplete
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 ProbeComplete
impl Debug for ProbeComplete
Source§impl PartialEq for ProbeComplete
impl PartialEq for ProbeComplete
impl Eq for ProbeComplete
impl StructuralPartialEq for ProbeComplete
Auto Trait Implementations§
impl Freeze for ProbeComplete
impl RefUnwindSafe for ProbeComplete
impl Send for ProbeComplete
impl Sync for ProbeComplete
impl Unpin for ProbeComplete
impl UnwindSafe for ProbeComplete
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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<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