Struct warts::Traceroute
source · [−]pub struct Traceroute {Show 36 fields
pub length: u32,
pub flags: Flags,
pub param_length: Option<u16>,
pub list_id: Option<u32>,
pub cycle_id: Option<u32>,
pub src_addr_id: Option<u32>,
pub dst_addr_id: Option<u32>,
pub start_time: Option<Timeval>,
pub stop_reason: Option<TraceStopReason>,
pub stop_data: Option<u8>,
pub trace_flags: Option<Flags>,
pub attempts: Option<u8>,
pub hop_limit: Option<u8>,
pub trace_type: Option<TraceType>,
pub probe_size: Option<u16>,
pub src_port: Option<u16>,
pub dst_port: Option<u16>,
pub first_ttl: Option<u8>,
pub ip_tos: Option<u8>,
pub timeout_sec: Option<u8>,
pub allowed_loops: Option<u8>,
pub hops_probed: Option<u16>,
pub gap_limit: Option<u8>,
pub gap_limit_action: Option<TraceGapAction>,
pub loop_action: Option<u8>,
pub probes_sent: Option<u16>,
pub interval_csec: Option<u8>,
pub confidence_level: Option<u8>,
pub src_addr: Option<Address>,
pub dst_addr: Option<Address>,
pub user_id: Option<u32>,
pub ip_offset: Option<u16>,
pub router_addr: Option<Address>,
pub hop_count: u16,
pub hops: Vec<TraceProbe>,
pub eof: u16,
}Expand description
A traceroute.
Fields
length: u32flags: FlagsFlags describing traceroute parameters and high-level outcomes.
param_length: Option<u16>Parameter length, included if any flags are set.
list_id: Option<u32>List ID assigned by warts, included if flag 1 is set.
cycle_id: Option<u32>Cycle ID assigned by warts, included if flag 2 is set.
src_addr_id: Option<u32>Src IP address ID assigned by warts, included if flag 3 is set.
dst_addr_id: Option<u32>Dst IP address ID assigned by warts, included if flag 4 is set.
start_time: Option<Timeval>Time traceroute commenced, included if flag 5 is set.
stop_reason: Option<TraceStopReason>Stop reason, included if flag 6 is set.
stop_data: Option<u8>Stop data, included if flag 7 is set.
trace_flags: Option<Flags>Trace flags, included if flag 8 is set.
attempts: Option<u8>Attempts, included if flag 9 is set.
hop_limit: Option<u8>Hoplimit, included if flag 10 is set.
trace_type: Option<TraceType>Trace type, included if flag 11 is set.
probe_size: Option<u16>Probe size, included if flag 12 is set.
src_port: Option<u16>Source port, included if flag 13 is set.
dst_port: Option<u16>Destination port, included if flag 14 is set.
first_ttl: Option<u8>TTL of first probe, included if flag 15 is set.
ip_tos: Option<u8>IP ToS set in probe packets, included if flag 16 is set.
timeout_sec: Option<u8>Timeout length for each probe in seconds, included if flag 17 is set.
allowed_loops: Option<u8>How many loops are allowed before probing halts, included if flag 18 is set.
hops_probed: Option<u16>Number of hops probed, included if flag 19 is set.
gap_limit: Option<u8>Gap limit before probing halts, included if flag 20 is set.
gap_limit_action: Option<TraceGapAction>What to do when the gap limit is reached, included if flag 21 is set.
loop_action: Option<u8>What to do when a loop is found, included if flag 22 is set.
probes_sent: Option<u16>Number of probes sent, included if flag 23 is set.
interval_csec: Option<u8>Minimum time to wait between probes in centiseconds, included if flag 24 is set.
confidence_level: Option<u8>Confidence level to attain that all hops have replied at a given distance in the path, included if flag 25 is set.
src_addr: Option<Address>Source address used in probes, included if flag 26 is set.
dst_addr: Option<Address>Destination address used in probes, included if flag 27 is set.
user_id: Option<u32>User ID assigned to the traceroute, included if flag 28 is set.
ip_offset: Option<u16>IP offset value used in probes, included if flag 29 is set.
router_addr: Option<Address>Router address used to send probes, included if flag 30 is set.
hop_count: u16Hop record count.
hops: Vec<TraceProbe>Hop records, if hop record count > 0.
eof: u16End of traceroute record; value is zero.
Implementations
sourceimpl Traceroute
impl Traceroute
Trait Implementations
sourceimpl Debug for Traceroute
impl Debug for Traceroute
sourceimpl DekuRead<'_, Endian> for Traceroute
impl DekuRead<'_, Endian> for Traceroute
sourceimpl DekuUpdate for Traceroute
impl DekuUpdate for Traceroute
sourceimpl DekuWrite<Endian> for Traceroute
impl DekuWrite<Endian> for Traceroute
sourceimpl PartialEq<Traceroute> for Traceroute
impl PartialEq<Traceroute> for Traceroute
sourcefn eq(&self, other: &Traceroute) -> bool
fn eq(&self, other: &Traceroute) -> bool
This method tests for self and other values to be equal, and is used
by ==. Read more
sourcefn ne(&self, other: &Traceroute) -> bool
fn ne(&self, other: &Traceroute) -> bool
This method tests for !=.
impl StructuralPartialEq for Traceroute
Auto Trait Implementations
impl RefUnwindSafe for Traceroute
impl Send for Traceroute
impl Sync for Traceroute
impl Unpin for Traceroute
impl UnwindSafe for Traceroute
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> FmtForward for T
impl<T> FmtForward for T
fn fmt_binary(self) -> FmtBinary<Self> where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self> where
Self: Binary,
Causes self to use its Binary implementation when Debug-formatted.
fn fmt_display(self) -> FmtDisplay<Self> where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self> where
Self: Display,
Causes self to use its Display implementation when
Debug-formatted. Read more
fn fmt_lower_exp(self) -> FmtLowerExp<Self> where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self> where
Self: LowerExp,
Causes self to use its LowerExp implementation when
Debug-formatted. Read more
fn fmt_lower_hex(self) -> FmtLowerHex<Self> where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self> where
Self: LowerHex,
Causes self to use its LowerHex implementation when
Debug-formatted. Read more
fn fmt_octal(self) -> FmtOctal<Self> where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self> where
Self: Octal,
Causes self to use its Octal implementation when Debug-formatted.
fn fmt_pointer(self) -> FmtPointer<Self> where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self> where
Self: Pointer,
Causes self to use its Pointer implementation when
Debug-formatted. Read more
fn fmt_upper_exp(self) -> FmtUpperExp<Self> where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self> where
Self: UpperExp,
Causes self to use its UpperExp implementation when
Debug-formatted. Read more
fn fmt_upper_hex(self) -> FmtUpperHex<Self> where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self> where
Self: UpperHex,
Causes self to use its UpperHex implementation when
Debug-formatted. Read more
impl<T> Pipe for T where
T: ?Sized,
impl<T> Pipe for T where
T: ?Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
Pipes by value. This is generally the method you want to use. Read more
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R where
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R where
R: 'a,
Borrows self and passes that borrow into the pipe function. Read more
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R where
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R where
R: 'a,
Mutably borrows self and passes that borrow into the pipe function. Read more
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R where
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R where
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
Borrows self, then passes self.borrow() into the pipe function. Read more
fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R where
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R where
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
Mutably borrows self, then passes self.borrow_mut() into the pipe
function. Read more
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R where
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R where
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
Borrows self, then passes self.as_ref() into the pipe function.
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R where
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R where
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
Mutably borrows self, then passes self.as_mut() into the pipe
function. Read more
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
Borrows self, then passes self.deref() into the pipe function.
impl<T> Tap for T
impl<T> Tap for T
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
Immutable access to the Borrow<B> of a value. Read more
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
Mutable access to the BorrowMut<B> of a value. Read more
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
Immutable access to the AsRef<R> view of a value. Read more
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
Mutable access to the AsMut<R> view of a value. Read more
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self where
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self where
Self: Deref<Target = T>,
T: ?Sized,
Immutable access to the Deref::Target of a value. Read more
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self where
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self where
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Mutable access to the Deref::Target of a value. Read more
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls .tap() only in debug builds, and is erased in release builds.
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls .tap_mut() only in debug builds, and is erased in release
builds. Read more
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
Calls .tap_borrow() only in debug builds, and is erased in release
builds. Read more
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
Calls .tap_borrow_mut() only in debug builds, and is erased in release
builds. Read more
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
Calls .tap_ref() only in debug builds, and is erased in release
builds. Read more
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
Calls .tap_ref_mut() only in debug builds, and is erased in release
builds. Read more