Skip to main content

Packet

Struct Packet 

Source
pub struct Packet<'a, P: Payload> {
    pub control: Controller<'a>,
    pub packet: Packet<IpPacket<'a, P>>,
}
Expand description

An incoming UDP packet.

Fields§

§control: Controller<'a>

A reference to the UDP endpoint state.

§packet: Packet<IpPacket<'a, P>>

The valid packet inside the buffer.

Implementations§

Source§

impl<'a, P: Payload> Packet<'a, P>

Source

pub fn reinit(self, init: Init) -> Result<Packet<'a, P>>
where P: PayloadMut,

Reinitialize the buffer with a packet generated by the library.

Source

pub fn info(&self) -> &dyn Info

Get the hardware info for that packet.

Source

pub fn deinit(self) -> RawPacket<'a, P>
where P: PayloadMut,

Unwrap the raw packet buffer.

This does not modify the contents of the buffer but it will drop the state derived from parsing the different packet layers.

Source

pub fn send(self) -> Result<()>
where P: PayloadMut,

Called last after having initialized the payload.

Finalizes and queues the packet.

Auto Trait Implementations§

§

impl<'a, P> Freeze for Packet<'a, P>

§

impl<'a, P> !RefUnwindSafe for Packet<'a, P>

§

impl<'a, P> !Send for Packet<'a, P>

§

impl<'a, P> !Sync for Packet<'a, P>

§

impl<'a, P> Unpin for Packet<'a, P>

§

impl<'a, P> UnsafeUnpin for Packet<'a, P>

§

impl<'a, P> !UnwindSafe for Packet<'a, P>

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

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>,

Source§

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.