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.
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<D: ResourceDialect> Decode<DeviceBaseInfo, D> for DeviceBaseInfo
impl<D: ResourceDialect> Decode<DeviceBaseInfo, D> for DeviceBaseInfo
Source§impl Default for DeviceBaseInfo
impl Default for DeviceBaseInfo
Source§fn default() -> DeviceBaseInfo
fn default() -> DeviceBaseInfo
Source§impl<D: ResourceDialect> Encode<DeviceBaseInfo, D> for &DeviceBaseInfo
impl<D: ResourceDialect> Encode<DeviceBaseInfo, D> for &DeviceBaseInfo
Source§impl PartialEq for DeviceBaseInfo
impl PartialEq for DeviceBaseInfo
Source§impl TypeMarker for DeviceBaseInfo
impl TypeMarker for DeviceBaseInfo
Source§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
Source§type Borrowed<'a> = &'a DeviceBaseInfo
type Borrowed<'a> = &'a DeviceBaseInfo
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read moreimpl Persistable for DeviceBaseInfo
impl StructuralPartialEq for DeviceBaseInfo
Auto Trait Implementations§
impl Freeze for DeviceBaseInfo
impl RefUnwindSafe for DeviceBaseInfo
impl Send for DeviceBaseInfo
impl Sync for DeviceBaseInfo
impl Unpin for DeviceBaseInfo
impl UnwindSafe for DeviceBaseInfo
Blanket Implementations§
§impl<T> Body for Twhere
T: Persistable,
impl<T> Body for Twhere
T: Persistable,
§type MarkerAtTopLevel = T
type MarkerAtTopLevel = T
§type MarkerInResultUnion = T
type MarkerInResultUnion = T
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
)