pub struct MembershipReportV3Slice<'a> { /* private fields */ }Expand description
Zero-copy slice of an IGMPv3 “Membership Report” (type 0x22)
including the list of group records.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -
| Type = 0x22 | Reserved | Checksum | | part of header &
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | this type
| Flags | Number of Group Records (M) | ↓
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -
| | |
. . |
. Group Record [1] . |
. . |
| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| | |
. . |
. Group Record [2] . | part of payload
. . |
| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| . | |
. . . |
| . | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| | |
. . |
. Group Record [M] . |
. . |
| | ↓
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -Implementations§
Source§impl<'a> MembershipReportV3Slice<'a>
impl<'a> MembershipReportV3Slice<'a>
Sourcepub fn num_of_records(&self) -> u16
pub fn num_of_records(&self) -> u16
Number of group records declared in the report header.
Sourcepub fn to_header(&self) -> MembershipReportV3Header
pub fn to_header(&self) -> MembershipReportV3Header
Decodes the fixed fields into an owned MembershipReportV3Header.
Sourcepub fn group_records(&self) -> ReportGroupRecordV3SliceIter<'a> ⓘ
pub fn group_records(&self) -> ReportGroupRecordV3SliceIter<'a> ⓘ
Returns an iterator over the group records.
The iterator yields at most MembershipReportV3Slice::num_of_records
items and stops early with an err::LenError if the payload is
shorter than the records claim.
Trait Implementations§
Source§impl<'a> Clone for MembershipReportV3Slice<'a>
impl<'a> Clone for MembershipReportV3Slice<'a>
Source§fn clone(&self) -> MembershipReportV3Slice<'a>
fn clone(&self) -> MembershipReportV3Slice<'a>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'a> Debug for MembershipReportV3Slice<'a>
impl<'a> Debug for MembershipReportV3Slice<'a>
impl<'a> Eq for MembershipReportV3Slice<'a>
Source§impl<'a> PartialEq for MembershipReportV3Slice<'a>
impl<'a> PartialEq for MembershipReportV3Slice<'a>
impl<'a> StructuralPartialEq for MembershipReportV3Slice<'a>
Auto Trait Implementations§
impl<'a> Freeze for MembershipReportV3Slice<'a>
impl<'a> RefUnwindSafe for MembershipReportV3Slice<'a>
impl<'a> Send for MembershipReportV3Slice<'a>
impl<'a> Sync for MembershipReportV3Slice<'a>
impl<'a> Unpin for MembershipReportV3Slice<'a>
impl<'a> UnsafeUnpin for MembershipReportV3Slice<'a>
impl<'a> UnwindSafe for MembershipReportV3Slice<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more