Struct IcmpEchoRequest

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

An ICMP “Echo request” message, suitable for use with crate::socket::IcmpSocket::send_to.

This can be re-used for different requests, if needed.

Sending this ICMP message should result in an “Echo reply” message.

This message supports both IPv4 and IPv6.

See RFC 792 and RFC 4443.

Implementations§

Source§

impl IcmpEchoRequest

Source

pub fn new() -> Self

Construct a new ICMP “Echo request” message with id and seq set to 0, and empty data.

Source

pub fn from_fields(id: EchoId, seq: EchoSeq, data: &[u8]) -> Self

Construct a new request with the specified id, seq, and data.

data is arbitrary data expected to be returned in the Echo reply.

Some hosts seem to append some zero bytes in the reply.

Source

pub fn id(&self) -> EchoId

The id of the echo request

Source

pub fn seq(&self) -> EchoSeq

The seq num of the echo request

Source

pub fn set_id(&mut self, id: EchoId)

Set a new id number

Source

pub fn set_seq(&mut self, seq: EchoSeq)

Set a new sequence number

Source

pub fn set_data(&mut self, data: &[u8])

Set new data to be echoed

Trait Implementations§

Source§

impl Clone for IcmpEchoRequest

Source§

fn clone(&self) -> IcmpEchoRequest

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 IcmpEchoRequest

Source§

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

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

impl EncodeIcmpMessage<Icmpv4> for IcmpEchoRequest

Source§

fn encode(&mut self) -> &mut IcmpMessageBuffer

Encode the message per the spec for V.
Source§

impl EncodeIcmpMessage<Icmpv6> for IcmpEchoRequest

Source§

fn encode(&mut self) -> &mut IcmpMessageBuffer

Encode the message per the spec for V.

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

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V