Struct smoltcp::wire::UdpPacket
[−]
[src]
pub struct UdpPacket<T: AsRef<[u8]>> { /* fields omitted */ }
A read/write wrapper around an User Datagram Protocol packet buffer.
Methods
impl<T: AsRef<[u8]>> Packet<T>
[src]
fn new(buffer: T) -> Packet<T>
[src]
Imbue a raw octet buffer with UDP packet structure.
fn new_checked(buffer: T) -> Result<Packet<T>>
[src]
fn check_len(&self) -> Result<()>
[src]
Ensure that no accessor method will panic if called.
Returns Err(Error::Truncated)
if the buffer is too short.
Returns Err(Error::Malformed)
if the length field has a value smaller
than the header length.
The result of this check is invalidated by calling set_len.
fn into_inner(self) -> T
[src]
Consume the packet, returning the underlying buffer.
fn src_port(&self) -> u16
[src]
Return the source port field.
fn dst_port(&self) -> u16
[src]
Return the destination port field.
fn len(&self) -> u16
[src]
Return the length field.
fn checksum(&self) -> u16
[src]
Return the checksum field.
fn verify_checksum(&self, src_addr: &IpAddress, dst_addr: &IpAddress) -> bool
[src]
impl<'a, T: AsRef<[u8]> + ?Sized> Packet<&'a T>
[src]
impl<T: AsRef<[u8]> + AsMut<[u8]>> Packet<T>
[src]
fn set_src_port(&mut self, value: u16)
[src]
Set the source port field.
fn set_dst_port(&mut self, value: u16)
[src]
Set the destination port field.
fn set_len(&mut self, value: u16)
[src]
Set the length field.
fn set_checksum(&mut self, value: u16)
[src]
Set the checksum field.
fn fill_checksum(&mut self, src_addr: &IpAddress, dst_addr: &IpAddress)
[src]
Compute and fill in the header checksum.
Panics
This function panics unless src_addr
and dst_addr
belong to the same family,
and that family is IPv4 or IPv6.
impl<'a, T: AsRef<[u8]> + AsMut<[u8]> + ?Sized> Packet<&'a mut T>
[src]
fn payload_mut(&mut self) -> &mut [u8]
[src]
Return a mutable pointer to the payload.
Trait Implementations
impl<T: Debug + AsRef<[u8]>> Debug for Packet<T>
[src]
impl<'a, T: AsRef<[u8]> + ?Sized> Display for Packet<&'a T>
[src]
fn fmt(&self, f: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl<T: AsRef<[u8]>> PrettyPrint for Packet<T>
[src]
fn pretty_print(
buffer: &AsRef<[u8]>,
f: &mut Formatter,
indent: &mut PrettyIndent
) -> Result
[src]
buffer: &AsRef<[u8]>,
f: &mut Formatter,
indent: &mut PrettyIndent
) -> Result
Write a concise, formatted representation of a packet contained in the provided buffer, and any nested packets it may contain. Read more