pub struct Ipv4Packet<'p> { /* private fields */ }
Expand description

A structure enabling manipulation of on the wire packets

Implementations§

Constructs a new #name. If the provided buffer is less than the minimum required packet size, this will return None.

Constructs a new #name. If the provided buffer is less than the minimum required packet size, this will return None. With this constructor the #name will own its own data and the underlying buffer will be dropped when the #name is.

Maps from a #name to a #imm_name

Maps from a #name to a #imm_name while consuming the source

The minimum size (in bytes) a packet of this type can be. It’s based on the total size of the fixed-size fields.

The size (in bytes) of a #base_name instance when converted into a byte-array

Get the version field. This field is always stored big-endian within the struct, but this accessor returns host order.

Get the header_length field. This field is always stored big-endian within the struct, but this accessor returns host order.

Get the dscp field. This field is always stored big-endian within the struct, but this accessor returns host order.

Get the ecn field. This field is always stored big-endian within the struct, but this accessor returns host order.

Get the total_length field. This field is always stored big-endian within the struct, but this accessor returns host order.

Get the identification field. This field is always stored big-endian within the struct, but this accessor returns host order.

Get the flags field. This field is always stored big-endian within the struct, but this accessor returns host order.

Get the fragment_offset field. This field is always stored big-endian within the struct, but this accessor returns host order.

Get the ttl field. This field is always stored big-endian within the struct, but this accessor returns host order.

Get the value of the {name} field

Get the checksum field. This field is always stored big-endian within the struct, but this accessor returns host order.

Get the value of the {name} field

Get the value of the {name} field

Get the raw &u8 value of the {name} field, without copying

Get the value of the {name} field (copies contents)

Get the value of the {name} field as iterator

Get the value of the {name} field (copies contents)

Trait Implementations§

Formats the value using the given formatter. Read more
The type of the packet to convert from.
Converts a wire-format packet to #[packet] struct format.
Retrieve the underlying buffer for the packet.
Retrieve the payload for the packet.
Get the calculated size of the packet.
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.