Struct etherparse::UdpSlice

source ·
pub struct UdpSlice<'a> { /* private fields */ }
Expand description

Slice containing the UDP headers & payload.

Implementations§

source§

impl<'a> UdpSlice<'a>

source

pub fn from_slice(slice: &'a [u8]) -> Result<UdpSlice<'a>, LenError>

Decode length from UDP header and restrict slice to the length of the header including the payload.

Note that this method fall backs to the length of the slice in the case the length field in the UDP header is set to zero.

source

pub fn from_slice_lax(slice: &'a [u8]) -> Result<UdpSlice<'a>, LenError>

Try decoding length from UDP header and restrict slice to the length of the header including the payload if possible. If not the slice length is used as a fallback value.

Note that this method fall also backs to the length of the slice in the case the length field in the UDP header is set to zero or smaller then the minimum header length.

source

pub fn slice(&self) -> &'a [u8]

Return the slice containing the UDP header & payload.

source

pub fn header_slice(&self) -> &'a [u8]

Return the slice containing the UDP header.

source

pub fn payload(&self) -> &'a [u8]

Returns the slice containing the UDP payload.

source

pub fn payload_len_source(&self) -> LenSource

Value that was used to determine the length of the payload.

source

pub fn source_port(&self) -> u16

Reads the “udp source port” in the UDP header.

source

pub fn destination_port(&self) -> u16

Reads the “udp destination port” in the UDP header.

source

pub fn length(&self) -> u16

Reads the “length” field in the UDP header.

source

pub fn checksum(&self) -> u16

Reads the “checksum” from the slice.

source

pub const fn header_len(&self) -> usize

Length of the UDP header (equal to crate::UdpHeader::LEN).

source

pub const fn header_len_u16(&self) -> u16

Length of the UDP header in an u16 (equal to crate::UdpHeader::LEN_U16).

source

pub fn to_header(&self) -> UdpHeader

Decode all the fields of the UDP header and copy the results to a UdpHeader struct.

Trait Implementations§

source§

impl<'a> Clone for UdpSlice<'a>

source§

fn clone(&self) -> UdpSlice<'a>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a> Debug for UdpSlice<'a>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'a> PartialEq for UdpSlice<'a>

source§

fn eq(&self, other: &UdpSlice<'a>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'a> Eq for UdpSlice<'a>

source§

impl<'a> StructuralPartialEq for UdpSlice<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for UdpSlice<'a>

§

impl<'a> RefUnwindSafe for UdpSlice<'a>

§

impl<'a> Send for UdpSlice<'a>

§

impl<'a> Sync for UdpSlice<'a>

§

impl<'a> Unpin for UdpSlice<'a>

§

impl<'a> UnwindSafe for UdpSlice<'a>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.