Skip to main content

Icmpv4Timestamp

Struct Icmpv4Timestamp 

Source
pub struct Icmpv4Timestamp { /* private fields */ }
Expand description

RFC 792 timestamp message body.

Timestamp request (type 13) and timestamp reply (type 14) append three 32-bit timestamps after the fixed ICMP header: the originate timestamp set by the requester, the receive timestamp set when the responder received the request, and the transmit timestamp set when the responder sent the reply. RFC 792 defines each as milliseconds since midnight UT; a sender that cannot supply a standard value may set the high-order bit, so the raw 32-bit values are exposed verbatim rather than reinterpreted.

This layer always encodes exactly 12 bytes. Malformed timestamp lengths (a short or oversized trailing region) are not forced into this layer on decode; they remain a Raw payload so the bytes are never lost.

Implementations§

Source§

impl Icmpv4Timestamp

Source

pub fn new() -> Self

Create a timestamp body with all three timestamps defaulted to zero.

Source

pub fn originate(self, originate: u32) -> Self

Set the originate timestamp.

Source

pub fn receive(self, receive: u32) -> Self

Set the receive timestamp.

Source

pub fn transmit(self, transmit: u32) -> Self

Set the transmit timestamp.

Source

pub fn originate_value(&self) -> u32

Originate timestamp value.

Source

pub fn receive_value(&self) -> u32

Receive timestamp value.

Source

pub fn transmit_value(&self) -> u32

Transmit timestamp value.

Trait Implementations§

Source§

impl Clone for Icmpv4Timestamp

Source§

fn clone(&self) -> Icmpv4Timestamp

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Icmpv4Timestamp

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Icmpv4Timestamp

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<R> Div<R> for Icmpv4Timestamp
where R: IntoPacket,

Source§

type Output = Packet

The resulting type after applying the / operator.
Source§

fn div(self, rhs: R) -> Self::Output

Performs the / operation. Read more
Source§

impl Eq for Icmpv4Timestamp

Source§

impl Layer for Icmpv4Timestamp

Source§

fn name(&self) -> &'static str

Stable layer name used by summaries and generated tools.
Source§

fn summary(&self) -> String

A one-line layer summary.
Source§

fn inspection_fields(&self) -> Vec<(&'static str, String)>

Stable field/value pairs used by packet inspection output.
Source§

fn encoded_len(&self) -> usize

Encoded length for this layer before dependent auto-fill.
Source§

fn compile(&self, _ctx: &LayerContext<'_>, out: &mut Vec<u8>) -> Result<()>

Encode this layer into out.
Source§

fn clone_layer(&self) -> Box<dyn Layer>

Clone this layer behind a trait object.
Source§

fn as_any(&self) -> &dyn Any

Return this layer as Any for typed packet access.
Source§

fn as_any_mut(&mut self) -> &mut dyn Any

Return this layer mutably as Any for typed packet access.
Source§

fn into_any(self: Box<Self>) -> Box<dyn Any>

Convert an owned trait object into Any for downcasting.
Source§

fn encoded_len_with_context(&self, _ctx: &LayerContext<'_>) -> usize

Encoded length for this layer once neighboring-layer context is known. Read more
Source§

fn consumes_following(&self) -> bool

Whether this layer’s compile() emits all following layers itself. Read more
Source§

fn transport_checksum_context( &self, _transport_protocol: u8, ) -> Option<TransportChecksumContext>

Return pseudo-header data for a following transport layer, when present.
Source§

impl PartialEq for Icmpv4Timestamp

Source§

fn eq(&self, other: &Icmpv4Timestamp) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Icmpv4Timestamp

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoPacket for T
where T: Layer,

Source§

fn into_packet(self) -> Packet

Convert this value into a packet.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.