[][src]Struct capsule::packets::icmp::v6::TimeExceeded

pub struct TimeExceeded<E: Ipv6Packet> { /* fields omitted */ }

Time Exceeded Message defined in IETF RFC 4443.

0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |     Code      |          Checksum             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             Unused                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    As much of invoking packet                 |
+               as possible without the ICMPv6 packet           +
|               exceeding the minimum IPv6 MTU [IPv6]           |

Implementations

impl<E: Ipv6Packet> TimeExceeded<E>[src]

pub fn data(&self) -> &[u8][src]

Returns the invoking packet as a u8 slice.

Trait Implementations

impl<E: Ipv6Packet> Debug for TimeExceeded<E>[src]

impl<E: Ipv6Packet> Icmpv6Message for TimeExceeded<E>[src]

type Envelope = E

The preceding packet type that encapsulates this message.

fn reconcile(&mut self)[src]

Reconciles the derivable header fields against the changes made to the packet.

  • the whole packet is truncated so it doesn't exceed the minimum IPv6 MTU.
  • checksum is computed based on the pseudo-header and the TimeExceeded message.

impl<E: Ipv6Packet> Icmpv6Packet for TimeExceeded<E>[src]

impl<E: Ipv6Packet> Packet for TimeExceeded<E>[src]

type Envelope = E

The preceding packet type that encapsulates this packet. Read more

Auto Trait Implementations

impl<E> RefUnwindSafe for TimeExceeded<E> where
    E: RefUnwindSafe

impl<E> !Send for TimeExceeded<E>

impl<E> !Sync for TimeExceeded<E>

impl<E> Unpin for TimeExceeded<E> where
    E: Unpin

impl<E> UnwindSafe for TimeExceeded<E> where
    E: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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