Struct netsim_embed::ipv4::MutableIpv4Packet [−][src]
pub struct MutableIpv4Packet<'p> { /* fields omitted */ }
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)
pub fn get_options_iter(&self) -> Ipv4OptionIterable<'_>ⓘNotable traits for Ipv4OptionIterable<'a>impl<'a> Iterator for Ipv4OptionIterable<'a> type Item = Ipv4OptionPacket<'a>;
pub fn get_options_iter(&self) -> Ipv4OptionIterable<'_>ⓘNotable traits for Ipv4OptionIterable<'a>impl<'a> Iterator for Ipv4OptionIterable<'a> type Item = Ipv4OptionPacket<'a>;
impl<'a> Iterator for Ipv4OptionIterable<'a> type Item = Ipv4OptionPacket<'a>;
Get the value of the {name} field as iterator
Get the value of the {name} field (copies contents)
Set the version field. This field is always stored big-endian within the struct, but this mutator wants host order.
Set the header_length field. This field is always stored big-endian within the struct, but this mutator wants host order.
Set the dscp field. This field is always stored big-endian within the struct, but this mutator wants host order.
Set the ecn field. This field is always stored big-endian within the struct, but this mutator wants host order.
Set the total_length field. This field is always stored big-endian within the struct, but this mutator wants host order.
Set the identification field. This field is always stored big-endian within the struct, but this mutator wants host order.
Set the flags field. This field is always stored big-endian within the struct, but this mutator wants host order.
Set the fragment_offset field. This field is always stored big-endian within the struct, but this mutator wants host order.
Set the ttl field. This field is always stored big-endian within the struct, but this mutator wants host order.
Set the value of the {name} field.
Set the checksum field. This field is always stored big-endian within the struct, but this mutator wants host order.
Set the value of the {name} field.
Set the value of the {name} field.
Get the raw &mut u8 value of the {name} field, without copying
Set the value of the {name} field (copies contents)
Set the value of the {name} field (copies contents)
Trait Implementations
Converts a wire-format packet to #[packet] struct format.
Retreive the underlying, mutable, buffer for the packet.
Retreive the mutable payload for the packet.
fn clone_from<T>(&mut self, other: &T) where
T: Packet,
fn clone_from<T>(&mut self, other: &T) where
T: Packet,
Initialize this packet by cloning another.
Retrieve the underlying buffer 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 !=
.