[][src]Struct pnet_packet::ipv6::Ipv6Packet

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

A structure enabling manipulation of on the wire packets

Methods

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

pub fn new<'p>(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>) -> 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>(&'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 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) -> u4[src]

Get the version field.

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

Get the traffic_class field.

pub fn get_flow_label(&self) -> u20be[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) -> u16be[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> PartialEq<Ipv6Packet<'p>> for Ipv6Packet<'p>[src]

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

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

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

type T = Ipv6

The type of the packet to convert from

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

Auto Trait Implementations

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

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

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.