Struct pnet_packet::gre::MutableGrePacket [−][src]
pub struct MutableGrePacket<'p> { /* fields omitted */ }
Expand description
A structure enabling manipulation of on the wire packets
Implementations
Constructs a new MutableGrePacket. If the provided buffer is less than the minimum required packet size, this will return None.
Constructs a new MutableGrePacket. If the provided buffer is less than the minimum required packet size, this will return None. With this constructor the MutableGrePacket will own its own data and the underlying buffer will be dropped when the MutableGrePacket is.
Maps from a MutableGrePacket to a GrePacket
Maps from a MutableGrePacket to a GrePacket 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 Gre instance when converted into a byte-array
Get the checksum_present field.
Get the routing_present field.
Get the key_present field.
Get the sequence_present field.
Get the strict_source_route field.
Get the recursion_control field.
Get the zero_flags field.
Get the version field.
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 checksum field, without copying
Get the value of the checksum 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 checksum field as iterator
Get the raw &u8 value of the offset field, without copying
Get the value of the offset 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 offset field as iterator
Get the raw &u8 value of the key 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 key field as iterator
Get the raw &u8 value of the sequence field, without copying
Get the value of the sequence 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 sequence field as iterator
Get the raw &u8 value of the routing field, without copying
Get the value of the routing field (copies contents)
Set the checksum_present field.
Set the routing_present field.
Set the key_present field.
Set the sequence_present field.
Set the strict_source_route field.
Set the recursion_control field.
Set the zero_flags field.
Set the version field.
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 checksum field, without copying
Set the value of the checksum field (copies contents)
Get the raw &mut u8 value of the offset field, without copying
Set the value of the offset field (copies contents)
Get the raw &mut u8 value of the key field, without copying
Get the raw &mut u8 value of the sequence field, without copying
Set the value of the sequence field (copies contents)
Get the raw &mut u8 value of the routing field, without copying
Set the value of the routing field (copies contents)
Set the value of the payload 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.
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 !=
.