pub struct DeviceBaseInfo {
pub rx_depth: Option<u16>,
pub tx_depth: Option<u16>,
pub buffer_alignment: Option<u32>,
pub max_buffer_length: Option<u32>,
pub min_rx_buffer_length: Option<u32>,
pub min_tx_buffer_length: Option<u32>,
pub min_tx_buffer_head: Option<u16>,
pub min_tx_buffer_tail: Option<u16>,
pub max_buffer_parts: Option<u8>,
pub rx_accel: Option<Vec<RxAcceleration>>,
pub tx_accel: Option<Vec<TxAcceleration>>,
/* private fields */
}
Expand description
Network device base info.
Fields§
§rx_depth: Option<u16>
Maximum number of items in rx FIFO (per session). Required.
rx_depth
is calculated based on the size of the actual backing
hardware rx queue.
tx_depth: Option<u16>
Maximum number of items in tx FIFO (per session). Required.
tx_depth
is calculated based on the size of the actual backing
hardware tx queue.
buffer_alignment: Option<u32>
Alignment requirement for buffers in the data VMO.
All buffers in the data VMO must be aligned to buffer_alignment
relative to the start of the VMO. buffer_alignment == 0
is never
reported. Required.
max_buffer_length: Option<u32>
Maximum supported length of buffers in the data VMO, in bytes.
Absent if no maximum buffer length is defined. Must be nonzero.
min_rx_buffer_length: Option<u32>
The minimum rx buffer length required for device. Required.
min_tx_buffer_length: Option<u32>
The minimum tx buffer length required for the device. Required.
This value accounts only for tx payload length, min_tx_buffer_head
and
min_tx_buffer_tail
are not part of this value.
Clients must zero pad outgoing frames to meet the required minimum length.
min_tx_buffer_head: Option<u16>
The number of bytes the device requests be free as head
space in a tx
buffer. Required.
min_tx_buffer_tail: Option<u16>
The amount of bytes the device requests be free as tail
space in a tx
buffer. Required.
max_buffer_parts: Option<u8>
Maximum descriptor chain length accepted by the device. Required.
rx_accel: Option<Vec<RxAcceleration>>
Available rx acceleration flags for this device.
rx_accel
maps the RX_ACCEL_*
flags in the frame descriptors with
semantic acceleration features described by RxAcceleration
. Position
n
of rx_accel
conveys the meaning of the RX_ACCEL_n
flag.
Interpreted as empty if not provided.
tx_accel: Option<Vec<TxAcceleration>>
Available tx acceleration flags for this device.
tx_accel
maps the TX_ACCEL_*
flags in the frame descriptors with
semantic acceleration features described by TxAcceleration
. Position
n
of tx_accel
conveys the meaning of the TX_ACCEL_n
flag.
Interpreted as empty if not provided.
Implementations§
Trait Implementations§
source§impl Clone for DeviceBaseInfo
impl Clone for DeviceBaseInfo
source§fn clone(&self) -> DeviceBaseInfo
fn clone(&self) -> DeviceBaseInfo
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for DeviceBaseInfo
impl Debug for DeviceBaseInfo
source§impl Decode<DeviceBaseInfo> for DeviceBaseInfo
impl Decode<DeviceBaseInfo> for DeviceBaseInfo
source§impl Encode<DeviceBaseInfo> for &DeviceBaseInfo
impl Encode<DeviceBaseInfo> for &DeviceBaseInfo
source§impl Encode<DeviceBaseInfo> for DeviceBaseInfo
impl Encode<DeviceBaseInfo> for DeviceBaseInfo
source§impl PartialEq<DeviceBaseInfo> for DeviceBaseInfo
impl PartialEq<DeviceBaseInfo> for DeviceBaseInfo
source§fn eq(&self, other: &DeviceBaseInfo) -> bool
fn eq(&self, other: &DeviceBaseInfo) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl TypeMarker for DeviceBaseInfo
impl TypeMarker for DeviceBaseInfo
§type Owned = DeviceBaseInfo
type Owned = DeviceBaseInfo
source§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
source§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
inline_align
.§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and encoding requires no validation. When true, we can optimize
encoding arrays and vectors of Self::Owned
to a single memcpy. Read more§fn decode_is_copy() -> bool
fn decode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and decoding requires no validation. When true, we can optimize
decoding arrays and vectors of Self::Owned
to a single memcpy.source§impl ValueTypeMarker for DeviceBaseInfo
impl ValueTypeMarker for DeviceBaseInfo
§type Borrowed<'a> = &'a <DeviceBaseInfo as TypeMarker>::Owned
type Borrowed<'a> = &'a <DeviceBaseInfo as TypeMarker>::Owned
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read more