Struct net::wire::NdiscOption
pub struct NdiscOption<T>where
T: AsRef<[u8]>,{ /* private fields */ }
Expand description
A read/write wrapper around an NDISC Option.
Implementations§
§impl<T> NdiscOption<T>where
T: AsRef<[u8]>,
impl<T> NdiscOption<T>where T: AsRef<[u8]>,
Core getter methods relevant to any type of NDISC option.
pub const fn new_unchecked(buffer: T) -> NdiscOption<T>
pub const fn new_unchecked(buffer: T) -> NdiscOption<T>
Create a raw octet buffer with an NDISC Option structure.
pub fn new_checked(buffer: T) -> Result<NdiscOption<T>, Error>
pub fn new_checked(buffer: T) -> Result<NdiscOption<T>, Error>
Shorthand for a combination of new_unchecked and check_len.
pub fn check_len(&self) -> Result<(), Error>
pub fn check_len(&self) -> Result<(), Error>
Ensure that no accessor method will panic if called.
Returns Err(Error)
if the buffer is too short.
The result of this check is invalidated by calling set_data_len.
pub fn into_inner(self) -> T
pub fn into_inner(self) -> T
Consume the NDISC option, returning the underlying buffer.
pub fn option_type(&self) -> Type
pub fn option_type(&self) -> Type
Return the option type.
§impl<T> NdiscOption<T>where
T: AsRef<[u8]>,
impl<T> NdiscOption<T>where T: AsRef<[u8]>,
Getter methods only relevant for Source/Target Link-layer Address options.
pub fn link_layer_addr(&self) -> RawHardwareAddress
pub fn link_layer_addr(&self) -> RawHardwareAddress
Return the Source/Target Link-layer Address.
§impl<T> NdiscOption<T>where
T: AsRef<[u8]>,
impl<T> NdiscOption<T>where T: AsRef<[u8]>,
Getter methods only relevant for the MTU option.
§impl<T> NdiscOption<T>where
T: AsRef<[u8]>,
impl<T> NdiscOption<T>where T: AsRef<[u8]>,
Getter methods only relevant for the Prefix Information option.
pub fn prefix_len(&self) -> u8
pub fn prefix_len(&self) -> u8
Return the prefix length.
pub fn prefix_flags(&self) -> PrefixInfoFlags
pub fn prefix_flags(&self) -> PrefixInfoFlags
Return the prefix information flags.
pub fn valid_lifetime(&self) -> Duration
pub fn valid_lifetime(&self) -> Duration
Return the valid lifetime of the prefix.
pub fn preferred_lifetime(&self) -> Duration
pub fn preferred_lifetime(&self) -> Duration
Return the preferred lifetime of the prefix.
§impl<T> NdiscOption<T>where
T: AsRef<[u8]> + AsMut<[u8]>,
impl<T> NdiscOption<T>where T: AsRef<[u8]> + AsMut<[u8]>,
Core setter methods relevant to any type of NDISC option.
pub fn set_option_type(&mut self, value: Type)
pub fn set_option_type(&mut self, value: Type)
Set the option type.
pub fn set_data_len(&mut self, value: u8)
pub fn set_data_len(&mut self, value: u8)
Set the option data length.
§impl<T> NdiscOption<T>where
T: AsRef<[u8]> + AsMut<[u8]>,
impl<T> NdiscOption<T>where T: AsRef<[u8]> + AsMut<[u8]>,
Setter methods only relevant for Source/Target Link-layer Address options.
pub fn set_link_layer_addr(&mut self, addr: RawHardwareAddress)
pub fn set_link_layer_addr(&mut self, addr: RawHardwareAddress)
Set the Source/Target Link-layer Address.
§impl<T> NdiscOption<T>where
T: AsRef<[u8]> + AsMut<[u8]>,
impl<T> NdiscOption<T>where T: AsRef<[u8]> + AsMut<[u8]>,
Setter methods only relevant for the MTU option.
§impl<T> NdiscOption<T>where
T: AsRef<[u8]> + AsMut<[u8]>,
impl<T> NdiscOption<T>where T: AsRef<[u8]> + AsMut<[u8]>,
Setter methods only relevant for the Prefix Information option.
pub fn set_prefix_len(&mut self, value: u8)
pub fn set_prefix_len(&mut self, value: u8)
Set the prefix length.
pub fn set_prefix_flags(&mut self, flags: PrefixInfoFlags)
pub fn set_prefix_flags(&mut self, flags: PrefixInfoFlags)
Set the prefix information flags.
pub fn set_valid_lifetime(&mut self, time: Duration)
pub fn set_valid_lifetime(&mut self, time: Duration)
Set the valid lifetime of the prefix.
pub fn set_preferred_lifetime(&mut self, time: Duration)
pub fn set_preferred_lifetime(&mut self, time: Duration)
Set the preferred lifetime of the prefix.
pub fn clear_prefix_reserved(&mut self)
pub fn clear_prefix_reserved(&mut self)
Clear the reserved bits.
pub fn set_prefix(&mut self, addr: Address)
pub fn set_prefix(&mut self, addr: Address)
Set the prefix.
§impl<T> NdiscOption<T>where
T: AsRef<[u8]> + AsMut<[u8]>,
impl<T> NdiscOption<T>where T: AsRef<[u8]> + AsMut<[u8]>,
Setter methods only relevant for the Redirected Header option.
pub fn clear_redirected_reserved(&mut self)
pub fn clear_redirected_reserved(&mut self)
Clear the reserved bits.
Trait Implementations§
§impl<T> PartialEq<NdiscOption<T>> for NdiscOption<T>where
T: PartialEq<T> + AsRef<[u8]>,
impl<T> PartialEq<NdiscOption<T>> for NdiscOption<T>where T: PartialEq<T> + AsRef<[u8]>,
§fn eq(&self, other: &NdiscOption<T>) -> bool
fn eq(&self, other: &NdiscOption<T>) -> bool
self
and other
values to be equal, and is used
by ==
.