embassy-net-driver

Crates

git

Versions

default

Flavors

Skip to main content

PacketMeta

Struct PacketMeta 

Source
#[non_exhaustive]
pub struct PacketMeta {}
Expand description

Metadata associated to a packet.

The packet metadata is a set of attributes associated to network packets as they travel up or down the stack. The metadata is get/set by the Driver implementations or by the user when sending/receiving packets from a socket.

Metadata fields are enabled via Cargo features. If no field is enabled, this struct becomes zero-sized, which allows the compiler to optimize it out as if the packet metadata mechanism didn’t exist at all.

This struct is marked as #[non_exhaustive]. This means it is not possible to create it directly by specifying all fields. You have to instead create it with default values and then set the fields you want. This makes adding metadata fields a non-breaking change.

let mut meta = xarxa_driver::PacketMeta::default();
#[cfg(feature = "packetmeta-id")]
{
    meta.id = 15;
}

Trait Implementations§

Source§

impl Clone for PacketMeta

Source§

fn clone(&self) -> PacketMeta

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for PacketMeta

Source§

impl Debug for PacketMeta

Source§

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

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

impl Default for PacketMeta

Source§

fn default() -> PacketMeta

Returns the “default value” for a type. Read more
Source§

impl Eq for PacketMeta

Source§

impl Format for PacketMeta

Source§

fn format(&self, f: Formatter<'_>)

Writes the defmt representation of self to fmt.
Source§

impl Hash for PacketMeta

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for PacketMeta

Source§

fn eq(&self, other: &PacketMeta) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for PacketMeta

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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.