pub struct Icmpv4TimestampRequest(/* private fields */);
Expand description

An ICMPv4 Timestamp Request message.

Implementations§

source§

impl Icmpv4TimestampRequest

source

pub fn new(origin_timestamp: u32, id: u16, seq: u16) -> Icmpv4TimestampRequest

Creates an Icmpv4TimestampRequest.

new constructs a new Icmpv4TimestampRequest with the given parameters, and sets the Receive Timestamp and Transmit Timestamp values to zero.

source

pub fn reply( &self, recv_timestamp: u32, tx_timestamp: u32 ) -> Icmpv4TimestampReply

Reply to a Timestamp Request message.

reply takes the Icmpv4TimestampRequest from a Timestamp Request message, and produces the appropriate Icmpv4TimestampReply value for a Timestamp Reply message. The original Originate Timestamp, ICMP ID, and ICMP Sequence Number are retained, while the Receive Timestamp and Transmit Timestamp are overwritten with the given values.

The Receive Timestamp (recv_timestamp) indicates the time at which the Timestamp Request was first received, while the Transmit Timestamp (tx_timestamp) indicates the time at which the Timestamp Reply was last processed before being sent.

Trait Implementations§

source§

impl Clone for Icmpv4TimestampRequest

source§

fn clone(&self) -> Icmpv4TimestampRequest

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for Icmpv4TimestampRequest

source§

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

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

impl FromBytes for Icmpv4TimestampRequest
where Timestamp: FromBytes,

§

fn ref_from(bytes: &[u8]) -> Option<&Self>
where Self: Sized + NoCell,

Interprets the given bytes as a &Self without copying. Read more
§

fn ref_from_prefix(bytes: &[u8]) -> Option<&Self>
where Self: Sized + NoCell,

Interprets the prefix of the given bytes as a &Self without copying. Read more
§

fn ref_from_suffix(bytes: &[u8]) -> Option<&Self>
where Self: Sized + NoCell,

Interprets the suffix of the given bytes as a &Self without copying. Read more
§

fn mut_from(bytes: &mut [u8]) -> Option<&mut Self>
where Self: Sized + IntoBytes + NoCell,

Interprets the given bytes as a &mut Self without copying. Read more
§

fn mut_from_prefix(bytes: &mut [u8]) -> Option<&mut Self>
where Self: Sized + IntoBytes + NoCell,

Interprets the prefix of the given bytes as a &mut Self without copying. Read more
§

fn mut_from_suffix(bytes: &mut [u8]) -> Option<&mut Self>
where Self: Sized + IntoBytes + NoCell,

Interprets the suffix of the given bytes as a &mut Self without copying. Read more
§

fn slice_from(bytes: &[u8]) -> Option<&[Self]>
where Self: Sized + NoCell,

Interprets the given bytes as a &[Self] without copying. Read more
§

fn slice_from_prefix(bytes: &[u8], count: usize) -> Option<(&[Self], &[u8])>
where Self: Sized + NoCell,

Interprets the prefix of the given bytes as a &[Self] with length equal to count without copying. Read more
§

fn slice_from_suffix(bytes: &[u8], count: usize) -> Option<(&[u8], &[Self])>
where Self: Sized + NoCell,

Interprets the suffix of the given bytes as a &[Self] with length equal to count without copying. Read more
§

fn mut_slice_from(bytes: &mut [u8]) -> Option<&mut [Self]>
where Self: Sized + IntoBytes + NoCell,

Interprets the given bytes as a &mut [Self] without copying. Read more
§

fn mut_slice_from_prefix( bytes: &mut [u8], count: usize ) -> Option<(&mut [Self], &mut [u8])>
where Self: Sized + IntoBytes + NoCell,

Interprets the prefix of the given bytes as a &mut [Self] with length equal to count without copying. Read more
§

fn mut_slice_from_suffix( bytes: &mut [u8], count: usize ) -> Option<(&mut [u8], &mut [Self])>
where Self: Sized + IntoBytes + NoCell,

Interprets the suffix of the given bytes as a &mut [Self] with length equal to count without copying. Read more
§

fn read_from(bytes: &[u8]) -> Option<Self>
where Self: Sized,

Reads a copy of Self from bytes. Read more
§

fn read_from_prefix(bytes: &[u8]) -> Option<Self>
where Self: Sized,

Reads a copy of Self from the prefix of bytes. Read more
§

fn read_from_suffix(bytes: &[u8]) -> Option<Self>
where Self: Sized,

Reads a copy of Self from the suffix of bytes. Read more
source§

impl FromZeros for Icmpv4TimestampRequest
where Timestamp: FromZeros,

§

fn zero(&mut self)

Overwrites self with zeros. Read more
§

fn new_zeroed() -> Self
where Self: Sized,

Creates an instance of Self from zeroed bytes. Read more
source§

impl IcmpMessage<Ipv4> for Icmpv4TimestampRequest

source§

const EXPECTS_BODY: bool = false

Whether or not a message body is expected in an ICMP packet.
§

type Code = IcmpUnusedCode

The type of codes used with this message. Read more
§

type Body<B: ByteSlice> = EmptyMessage<B>

The type of the body used with this message.
source§

const TYPE: <Ipv4 as IcmpIpExt>::IcmpMessageType = {transmute(0x06): <net_types::ip::Ipv4 as icmp::IcmpIpExt>::IcmpMessageType}

The type corresponding to this message type. Read more
source§

fn code_from_u8(u: u8) -> Option<Self::Code>

Parse a Code from an 8-bit number. Read more
source§

impl IntoBytes for Icmpv4TimestampRequest
where Timestamp: IntoBytes,

§

fn as_bytes(&self) -> &[u8]
where Self: NoCell,

Gets the bytes of this value. Read more
§

fn as_bytes_mut(&mut self) -> &mut [u8]
where Self: FromBytes + NoCell,

Gets the bytes of this value mutably. Read more
§

fn write_to(&self, bytes: &mut [u8]) -> Option<()>
where Self: NoCell,

Writes a copy of self to bytes. Read more
§

fn write_to_prefix(&self, bytes: &mut [u8]) -> Option<()>
where Self: NoCell,

Writes a copy of self to the prefix of bytes. Read more
§

fn write_to_suffix(&self, bytes: &mut [u8]) -> Option<()>
where Self: NoCell,

Writes a copy of self to the suffix of bytes. Read more
source§

impl Copy for Icmpv4TimestampRequest

source§

impl Unaligned for Icmpv4TimestampRequest
where Timestamp: Unaligned,

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> ToOwned for T
where T: Clone,

§

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>,

§

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>,

§

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.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more