[][src]Struct netlink_packet_route::rtnl::nlas::NlaBuffer

pub struct NlaBuffer<T> where
    T: AsRef<[u8]>, 
{ /* fields omitted */ }

Implementations

impl<T> NlaBuffer<T> where
    T: AsRef<[u8]>, 
[src]

pub fn new(buffer: T) -> NlaBuffer<T>[src]

pub fn new_checked(buffer: T) -> Result<NlaBuffer<T>, DecodeError>[src]

pub fn check_buffer_length(&self) -> Result<(), DecodeError>[src]

pub fn into_inner(self) -> T[src]

Consume the buffer, returning the underlying buffer.

pub fn inner(&mut self) -> &T[src]

Return a reference to the underlying buffer

pub fn inner_mut(&mut self) -> &mut T[src]

Return a mutable reference to the underlying buffer

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

Return the type field

pub fn nested_flag(&self) -> bool[src]

pub fn network_byte_order_flag(&self) -> bool[src]

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

Return the length field. The length field corresponds to the length of the nla header (type and length fields, and the value field). However, it does not account for the potential padding that follows the value field.

pub fn value_length(&self) -> usize[src]

Return the length of the value field

Panic

This panics if the length field value is less than the attribut header size.

impl<T> NlaBuffer<T> where
    T: AsRef<[u8]> + AsMut<[u8]>, 
[src]

pub fn set_kind(&mut self, kind: u16)[src]

Set the type field

pub fn set_nested_flag(&mut self)[src]

pub fn set_network_byte_order_flag(&mut self)[src]

pub fn set_length(&mut self, length: u16)[src]

Set the length field

impl<'buffer, T> NlaBuffer<&'buffer T> where
    T: AsRef<[u8]> + ?Sized
[src]

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

Return the value field

impl<'buffer, T> NlaBuffer<&'buffer mut T> where
    T: AsRef<[u8]> + AsMut<[u8]> + ?Sized
[src]

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

Return the value field

Trait Implementations

impl<T> Clone for NlaBuffer<T> where
    T: Clone + AsRef<[u8]>, 
[src]

impl<T> Copy for NlaBuffer<T> where
    T: AsRef<[u8]> + Copy
[src]

impl<T> Debug for NlaBuffer<T> where
    T: AsRef<[u8]> + Debug
[src]

impl<T> Eq for NlaBuffer<T> where
    T: Eq + AsRef<[u8]>, 
[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for Nla[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for Inet[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for InfoIpVlan[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for InfoVrf[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for InfoMacVlan[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for InfoMacVtap[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for Nla[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for Nla[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for Nla[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for Metrics[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for Nla[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for Nla[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for Inet6[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for Nla[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for Stats2[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for AfSpecInet[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for InfoKind[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for InfoVxlan[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for InfoVlan[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for InfoBridge[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for InfoIpoib[src]

impl<'a, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'a T>> for VethInfo[src]

impl<'buffer, T> Parseable<NlaBuffer<&'buffer T>> for DefaultNla where
    T: AsRef<[u8]> + ?Sized
[src]

impl<'a, T: AsRef<[u8]> + ?Sized> ParseableParametrized<NlaBuffer<&'a T>, u16> for Nla[src]

impl<T> PartialEq<NlaBuffer<T>> for NlaBuffer<T> where
    T: PartialEq<T> + AsRef<[u8]>, 
[src]

impl<T> StructuralEq for NlaBuffer<T> where
    T: AsRef<[u8]>, 
[src]

impl<T> StructuralPartialEq for NlaBuffer<T> where
    T: AsRef<[u8]>, 
[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for NlaBuffer<T> where
    T: RefUnwindSafe
[src]

impl<T> Send for NlaBuffer<T> where
    T: Send
[src]

impl<T> Sync for NlaBuffer<T> where
    T: Sync
[src]

impl<T> Unpin for NlaBuffer<T> where
    T: Unpin
[src]

impl<T> UnwindSafe for NlaBuffer<T> where
    T: UnwindSafe
[src]

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> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.