embassy-net-driver

Crates

git

Versions

default

Flavors

๐Ÿ“ฃ We want to hear from you! Fill the Rust Embedded 2024 micro-survey.

Struct embassy_net_driver::Capabilities

source ยท
#[non_exhaustive]
pub struct Capabilities { pub max_transmission_unit: usize, pub max_burst_size: Option<usize>, pub checksum: ChecksumCapabilities, }
Expand description

A description of device capabilities.

Higher-level protocols may achieve higher throughput or lower latency if they consider the bandwidth or packet size limitations.

Fields (Non-exhaustive)ยง

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
ยงmax_transmission_unit: usize

Maximum transmission unit.

The network device is unable to send or receive frames larger than the value returned by this function.

For Ethernet devices, this is the maximum Ethernet frame size, including the Ethernet header (14 octets), but not including the Ethernet FCS (4 octets). Therefore, Ethernet MTU = IP MTU + 14.

Note that in Linux and other OSes, โ€œMTUโ€ is the IP MTU, not the Ethernet MTU, even for Ethernet devices. This is a common source of confusion.

Most common IP MTU is 1500. Minimum is 576 (for IPv4) or 1280 (for IPv6). Maximum is 9216 octets.

ยงmax_burst_size: Option<usize>

Maximum burst size, in terms of MTU.

The network device is unable to send or receive bursts large than the value returned by this function.

If None, there is no fixed limit on burst size, e.g. if network buffers are dynamically allocated.

ยงchecksum: ChecksumCapabilities

Checksum behavior.

If the network device is capable of verifying or computing checksums for some protocols, it can request that the stack not do so in software to improve performance.

Trait Implementationsยง

sourceยง

impl Clone for Capabilities

sourceยง

fn clone(&self) -> Capabilities

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 Debug for Capabilities

sourceยง

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

Formats the value using the given formatter. Read more
sourceยง

impl Default for Capabilities

sourceยง

fn default() -> Capabilities

Returns the โ€œdefault valueโ€ for a type. Read more
sourceยง

impl Format for Capabilities

sourceยง

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

Writes the defmt representation of self to fmt.

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, dst: *mut T)

๐Ÿ”ฌThis is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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.