pub struct IgmpMessage {
pub msg_type: u8,
pub max_resp_time: u8,
pub checksum: u16,
pub group_address: [u8; 4],
}Expand description
IGMPv2 message (8 bytes on the wire)
Fields§
§msg_type: u8Message type (0x11 = Query, 0x16 = Report, 0x17 = Leave)
max_resp_time: u8Maximum response time (in 1/10 second units)
checksum: u16Internet checksum over the entire IGMP message
group_address: [u8; 4]Group address (0.0.0.0 for general queries)
Implementations§
Source§impl IgmpMessage
impl IgmpMessage
Sourcepub fn new(msg_type: u8, max_resp_time: u8, group_address: [u8; 4]) -> Self
pub fn new(msg_type: u8, max_resp_time: u8, group_address: [u8; 4]) -> Self
Create a new IGMP message with checksum computed automatically.
Sourcepub fn from_bytes(data: &[u8]) -> Result<Self, MulticastError>
pub fn from_bytes(data: &[u8]) -> Result<Self, MulticastError>
Deserialize from bytes.
Sourcepub fn compute_checksum(&self) -> u16
pub fn compute_checksum(&self) -> u16
Compute the Internet checksum over the IGMP message.
Sourcepub fn verify_checksum(&self) -> bool
pub fn verify_checksum(&self) -> bool
Verify the message checksum.
Trait Implementations§
Source§impl Clone for IgmpMessage
impl Clone for IgmpMessage
Source§fn clone(&self) -> IgmpMessage
fn clone(&self) -> IgmpMessage
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for IgmpMessage
impl Debug for IgmpMessage
Source§impl PartialEq for IgmpMessage
impl PartialEq for IgmpMessage
impl Copy for IgmpMessage
impl Eq for IgmpMessage
impl StructuralPartialEq for IgmpMessage
Auto Trait Implementations§
impl Freeze for IgmpMessage
impl RefUnwindSafe for IgmpMessage
impl Send for IgmpMessage
impl Sync for IgmpMessage
impl Unpin for IgmpMessage
impl UnwindSafe for IgmpMessage
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)