[][src]Struct pnet::packet::ipv6::Ipv6Packet

pub struct Ipv6Packet<'p> { /* fields omitted */ }

A structure enabling manipulation of on the wire packets

Implementations

impl<'a> Ipv6Packet<'a>[src]

pub fn new(packet: &'p [u8]) -> Option<Ipv6Packet<'p>>[src]

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

pub fn owned(packet: Vec<u8, Global>) -> Option<Ipv6Packet<'static>>[src]

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

pub fn to_immutable(&'p self) -> Ipv6Packet<'p>[src]

Maps from a Ipv6Packet to a Ipv6Packet

pub fn consume_to_immutable(self) -> Ipv6Packet<'a>[src]

Maps from a Ipv6Packet to a Ipv6Packet while consuming the source

pub const fn minimum_packet_size() -> usize[src]

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

pub fn packet_size(_packet: &Ipv6) -> usize[src]

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

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

Get the version field.

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

Get the traffic_class field.

pub fn get_flow_label(&self) -> u32[src]

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

pub fn get_payload_length(&self) -> u16[src]

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

pub fn get_next_header(&self) -> IpNextHeaderProtocol[src]

Get the value of the next_header field

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

Get the hop_limit field.

pub fn get_source(&self) -> Ipv6Addr[src]

Get the value of the source field

pub fn get_destination(&self) -> Ipv6Addr[src]

Get the value of the destination field

Trait Implementations

impl<'p> Debug for Ipv6Packet<'p>[src]

impl<'p> FromPacket for Ipv6Packet<'p>[src]

type T = Ipv6

The type of the packet to convert from.

impl<'a> Packet for Ipv6Packet<'a>[src]

impl<'a> PacketSize for Ipv6Packet<'a>[src]

impl<'p> PartialEq<Ipv6Packet<'p>> for Ipv6Packet<'p>[src]

impl<'p> StructuralPartialEq for Ipv6Packet<'p>[src]

Auto Trait Implementations

impl<'p> RefUnwindSafe for Ipv6Packet<'p>

impl<'p> Send for Ipv6Packet<'p>

impl<'p> Sync for Ipv6Packet<'p>

impl<'p> Unpin for Ipv6Packet<'p>

impl<'p> UnwindSafe for Ipv6Packet<'p>

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, 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.