pub struct Icmpv6Writer<'a> {
pub bytes: &'a mut [u8],
}
Expand description
Writes ICMPv6 header fields.
Fields§
§bytes: &'a mut [u8]
Implementations§
Source§impl<'a> Icmpv6Writer<'a>
impl<'a> Icmpv6Writer<'a>
Sourcepub fn new(bytes: &'a mut [u8]) -> Result<Self, &'static str>
pub fn new(bytes: &'a mut [u8]) -> Result<Self, &'static str>
Creates a new Icmpv6Writer
from the given slice.
Sourcepub fn header_len(&self) -> usize
pub fn header_len(&self) -> usize
Returns the header length in bytes.
Sourcepub fn packet_len(&self) -> usize
pub fn packet_len(&self) -> usize
Returns the total length of the packet in bytes.
Sourcepub fn set_icmp_type(&mut self, icmp_type: u8)
pub fn set_icmp_type(&mut self, icmp_type: u8)
Sets the type field.
Sourcepub fn set_icmp_code(&mut self, icmp_code: u8)
pub fn set_icmp_code(&mut self, icmp_code: u8)
Sets the code field.
Sourcepub fn set_payload(&mut self, payload: &[u8]) -> Result<(), &'static str>
pub fn set_payload(&mut self, payload: &[u8]) -> Result<(), &'static str>
Sets the payload field.
The PacketBuilder
sets the payload before the checksum.
That is, because the checksum is invalidated if a payload is set after it.
Sourcepub fn set_checksum(&mut self, pseudo_sum: u32)
pub fn set_checksum(&mut self, pseudo_sum: u32)
Calculates the internet checksum for error checking.
Includes the ICMPv6 header, payload and IPv6 pseudo header.
Auto Trait Implementations§
impl<'a> Freeze for Icmpv6Writer<'a>
impl<'a> RefUnwindSafe for Icmpv6Writer<'a>
impl<'a> Send for Icmpv6Writer<'a>
impl<'a> Sync for Icmpv6Writer<'a>
impl<'a> Unpin for Icmpv6Writer<'a>
impl<'a> !UnwindSafe for Icmpv6Writer<'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