Struct etherparse::UdpHeader
[−]
[src]
pub struct UdpHeader { pub source_port: u16, pub destination_port: u16, pub length: u16, pub checksum: u16, }
Udp header according to rfc768.
Fields
source_port: u16
Source port of the packet (optional).
destination_port: u16
Destination port of the packet.
length: u16
Length of the packet (includes the udp header length of 8 bytes).
checksum: u16
The checksum of the packet. The checksum is calculated from a pseudo header, the udp header and the payload. The pseudo header is composed of source and destination address, protocol number
Methods
impl UdpHeader
[src]
pub fn without_ipv4_checksum(
source_port: u16,
destination_port: u16,
payload_length: usize
) -> Result<UdpHeader, ValueError>
[src]
source_port: u16,
destination_port: u16,
payload_length: usize
) -> Result<UdpHeader, ValueError>
Returns an udp header for the given parameters
pub fn with_ipv4_checksum(
source_port: u16,
destination_port: u16,
ip_header: &Ipv4Header,
payload: &[u8]
) -> Result<UdpHeader, ValueError>
[src]
source_port: u16,
destination_port: u16,
ip_header: &Ipv4Header,
payload: &[u8]
) -> Result<UdpHeader, ValueError>
Calculate an udp header given an ipv4 header and the payload
pub fn calc_checksum_ipv4(
&self,
ip_header: &Ipv4Header,
payload: &[u8]
) -> Result<u16, ValueError>
[src]
&self,
ip_header: &Ipv4Header,
payload: &[u8]
) -> Result<u16, ValueError>
Calculates the upd header checksum based on a ipv4 header.
pub fn calc_checksum_ipv4_raw(
&self,
source: &[u8; 4],
destination: &[u8; 4],
protocol: u8,
payload: &[u8]
) -> Result<u16, ValueError>
[src]
&self,
source: &[u8; 4],
destination: &[u8; 4],
protocol: u8,
payload: &[u8]
) -> Result<u16, ValueError>
Calculates the upd header checksum based on a ipv4 header.
pub fn with_ipv6_checksum(
source_port: u16,
destination_port: u16,
ip_header: &Ipv6Header,
payload: &[u8]
) -> Result<UdpHeader, ValueError>
[src]
source_port: u16,
destination_port: u16,
ip_header: &Ipv6Header,
payload: &[u8]
) -> Result<UdpHeader, ValueError>
Calculate an udp header given an ipv6 header and the payload
pub fn calc_checksum_ipv6(
&self,
ip_header: &Ipv6Header,
payload: &[u8]
) -> Result<u16, ValueError>
[src]
&self,
ip_header: &Ipv6Header,
payload: &[u8]
) -> Result<u16, ValueError>
Calculates the checksum of the current udp header given an ipv6 header and the payload.
pub fn calc_checksum_ipv6_raw(
&self,
source: &[u8; 16],
destination: &[u8; 16],
payload: &[u8]
) -> Result<u16, ValueError>
[src]
&self,
source: &[u8; 16],
destination: &[u8; 16],
payload: &[u8]
) -> Result<u16, ValueError>
Calculates the checksum of the current udp header given an ipv6 source & destination address plus the payload.
pub fn read<T: Read + Seek + Sized>(reader: &mut T) -> Result<UdpHeader, Error>
[src]
Tries to read an udp header from the current position.
pub fn write<T: Write + Sized>(&self, writer: &mut T) -> Result<(), WriteError>
[src]
Write the udp header without recalculating the checksum or length.
Trait Implementations
impl Clone for UdpHeader
[src]
fn clone(&self) -> UdpHeader
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Debug for UdpHeader
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl Eq for UdpHeader
[src]
impl PartialEq for UdpHeader
[src]
fn eq(&self, __arg_0: &UdpHeader) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &UdpHeader) -> bool
[src]
This method tests for !=
.
impl SerializedSize for UdpHeader
[src]
const SERIALIZED_SIZE: usize
SERIALIZED_SIZE: usize = 8
Size of the header itself