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
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
impl Clone for Capabilities
sourceยงfn clone(&self) -> Capabilities
fn clone(&self) -> Capabilities
1.0.0 ยท sourceยงfn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresourceยงimpl Debug for Capabilities
impl Debug for Capabilities
sourceยงimpl Default for Capabilities
impl Default for Capabilities
sourceยงfn default() -> Capabilities
fn default() -> Capabilities
Auto Trait Implementationsยง
impl Freeze for Capabilities
impl RefUnwindSafe for Capabilities
impl Send for Capabilities
impl Sync for Capabilities
impl Unpin for Capabilities
impl UnwindSafe for Capabilities
Blanket Implementationsยง
sourceยงimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
sourceยงfn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceยงimpl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
sourceยงunsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)