Struct smoltcp::phy::DeviceCapabilities[][src]

#[non_exhaustive]pub struct DeviceCapabilities {
    pub max_transmission_unit: usize,
    pub max_burst_size: Option<usize>,
    pub checksum: ChecksumCapabilities,
}

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)

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

impl Clone for DeviceCapabilities[src]

impl Debug for DeviceCapabilities[src]

impl Default for DeviceCapabilities[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.