packet_formats::icmp::mld

Struct Mldv2QueryBody

Source
pub struct Mldv2QueryBody<B: SplitByteSlice> { /* private fields */ }
Expand description

The on-wire structure for the body of an MLDv2 report message, per [RFC 3910 section 5.1].

Implementations§

Source§

impl<B: SplitByteSlice> Mldv2QueryBody<B>

Source

pub fn header(&self) -> &Mldv2QueryMessageHeader

Returns the header.

Source

pub fn sources(&self) -> &[Ipv6Addr]

Returns the sources.

Source

pub fn as_v1_query(&self) -> Mldv1Body<&[u8]>

Reinterprets this Mldv2QueryBody message as an Mldv1Body message in an MLDv1 query.

Given this crate parses the version separately, users desiring to operate in MLDv1 mode SHOULD reinterpret V2 queries as the older version.

See RFC 3810 section 8.2.1 and [RFC 2236 section 2.5].

Trait Implementations§

Source§

impl<B: Debug + SplitByteSlice> Debug for Mldv2QueryBody<B>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<B: SplitByteSlice> MessageBody for Mldv2QueryBody<B>

Source§

type B = B

The underlying byteslice.
Source§

fn parse(bytes: B) -> ParseResult<Self>

Parse the MessageBody from the provided bytes.
Source§

fn len(&self) -> usize

The length of the underlying buffer.
Source§

fn bytes(&self) -> (&[u8], Option<&[u8]>)

Return the underlying bytes. Read more
Source§

fn is_empty(&self) -> bool

Is the body empty? Read more

Auto Trait Implementations§

§

impl<B> Freeze for Mldv2QueryBody<B>
where B: Freeze,

§

impl<B> RefUnwindSafe for Mldv2QueryBody<B>
where B: RefUnwindSafe,

§

impl<B> Send for Mldv2QueryBody<B>
where B: Send,

§

impl<B> Sync for Mldv2QueryBody<B>
where B: Sync,

§

impl<B> Unpin for Mldv2QueryBody<B>
where B: Unpin,

§

impl<B> UnwindSafe for Mldv2QueryBody<B>
where B: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.