Struct netsim_embed::gre::MutableGrePacket [−][src]
pub struct MutableGrePacket<'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 checksum_present field. This field is always stored big-endian within the struct, but this accessor returns host order.
Get the routing_present field. This field is always stored big-endian within the struct, but this accessor returns host order.
Get the key_present field. This field is always stored big-endian within the struct, but this accessor returns host order.
Get the sequence_present field. This field is always stored big-endian within the struct, but this accessor returns host order.
Get the strict_source_route field. This field is always stored big-endian within the struct, but this accessor returns host order.
Get the recursion_control field. This field is always stored big-endian within the struct, but this accessor returns host order.
Get the zero_flags field. This field is always stored big-endian within the struct, but this accessor returns host order.
Get the version field. This field is always stored big-endian within the struct, but this accessor returns host order.
Get the protocol_type field. This field is always stored big-endian within the struct, but this accessor returns host order.
Get the raw &u8 value of the {name} field, without copying
Get the value of the {name} field (copies contents)
pub fn get_checksum_iter(&self) -> U16BEIterable<'_>ⓘNotable traits for U16BEIterable<'a>impl<'a> Iterator for U16BEIterable<'a> type Item = U16BEPacket<'a>;
pub fn get_checksum_iter(&self) -> U16BEIterable<'_>ⓘNotable traits for U16BEIterable<'a>impl<'a> Iterator for U16BEIterable<'a> type Item = U16BEPacket<'a>;
impl<'a> Iterator for U16BEIterable<'a> type Item = U16BEPacket<'a>;
Get the value of the {name} field as iterator
Get the raw &u8 value of the {name} field, without copying
Get the value of the {name} field (copies contents)
pub fn get_offset_iter(&self) -> U16BEIterable<'_>ⓘNotable traits for U16BEIterable<'a>impl<'a> Iterator for U16BEIterable<'a> type Item = U16BEPacket<'a>;
pub fn get_offset_iter(&self) -> U16BEIterable<'_>ⓘNotable traits for U16BEIterable<'a>impl<'a> Iterator for U16BEIterable<'a> type Item = U16BEPacket<'a>;
impl<'a> Iterator for U16BEIterable<'a> type Item = U16BEPacket<'a>;
Get the value of the {name} field as iterator
Get the raw &u8 value of the {name} field, without copying
pub fn get_key_iter(&self) -> U32BEIterable<'_>ⓘNotable traits for U32BEIterable<'a>impl<'a> Iterator for U32BEIterable<'a> type Item = U32BEPacket<'a>;
pub fn get_key_iter(&self) -> U32BEIterable<'_>ⓘNotable traits for U32BEIterable<'a>impl<'a> Iterator for U32BEIterable<'a> type Item = U32BEPacket<'a>;
impl<'a> Iterator for U32BEIterable<'a> type Item = U32BEPacket<'a>;
Get the value of the {name} field as iterator
Get the raw &u8 value of the {name} field, without copying
Get the value of the {name} field (copies contents)
pub fn get_sequence_iter(&self) -> U32BEIterable<'_>ⓘNotable traits for U32BEIterable<'a>impl<'a> Iterator for U32BEIterable<'a> type Item = U32BEPacket<'a>;
pub fn get_sequence_iter(&self) -> U32BEIterable<'_>ⓘNotable traits for U32BEIterable<'a>impl<'a> Iterator for U32BEIterable<'a> type Item = U32BEPacket<'a>;
impl<'a> Iterator for U32BEIterable<'a> type Item = U32BEPacket<'a>;
Get the value of the {name} field as iterator
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 (copies contents)
Set the checksum_present field. This field is always stored big-endian within the struct, but this mutator wants host order.
Set the routing_present field. This field is always stored big-endian within the struct, but this mutator wants host order.
Set the key_present field. This field is always stored big-endian within the struct, but this mutator wants host order.
Set the sequence_present field. This field is always stored big-endian within the struct, but this mutator wants host order.
Set the strict_source_route field. This field is always stored big-endian within the struct, but this mutator wants host order.
Set the recursion_control field. This field is always stored big-endian within the struct, but this mutator wants host order.
Set the zero_flags field. This field is always stored big-endian within the struct, but this mutator wants host order.
Set the version field. This field is always stored big-endian within the struct, but this mutator wants host order.
Set the protocol_type field. This field is always stored big-endian within the struct, but this mutator wants host order.
Get the raw &mut u8 value of the {name} field, without copying
Set the value of the {name} field (copies contents)
Get the raw &mut u8 value of the {name} field, without copying
Set the value of the {name} field (copies contents)
Get the raw &mut u8 value of the {name} field, without copying
Get the raw &mut u8 value of the {name} field, without copying
Set the value of the {name} field (copies contents)
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 !=
.