Skip to main content

DeviceBaseInfo

Struct DeviceBaseInfo 

Source
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 min_rx_buffers: Option<u16>,
    /* 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.

§min_rx_buffers: Option<u16>

Minimum amount of Rx buffers the client needs to prepare for the network device. Client should use this information to select its VMO sizes if using multi-VMO support.

Trait Implementations§

Source§

impl Clone for DeviceBaseInfo

Source§

fn clone(&self) -> DeviceBaseInfo

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DeviceBaseInfo

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<D> Decode<DeviceBaseInfo, D> for DeviceBaseInfo
where D: ResourceDialect,

Source§

fn new_empty() -> DeviceBaseInfo

Creates a valid instance of Self. The specific value does not matter, since it will be overwritten by decode.
Source§

unsafe fn decode( &mut self, decoder: &mut Decoder<'_, D>, offset: usize, depth: Depth, ) -> Result<(), Error>

Decodes an object of type T from the decoder’s buffers into self. Read more
Source§

impl Default for DeviceBaseInfo

Source§

fn default() -> DeviceBaseInfo

Returns the “default value” for a type. Read more
Source§

impl<D> Encode<DeviceBaseInfo, D> for &DeviceBaseInfo
where D: ResourceDialect,

Source§

unsafe fn encode( self, encoder: &mut Encoder<'_, D>, offset: usize, depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
Source§

impl PartialEq for DeviceBaseInfo

Source§

fn eq(&self, other: &DeviceBaseInfo) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Persistable for DeviceBaseInfo

Source§

impl StructuralPartialEq for DeviceBaseInfo

Source§

impl TypeMarker for DeviceBaseInfo

Source§

type Owned = DeviceBaseInfo

The owned Rust type which this FIDL type decodes into.
Source§

fn inline_align(_context: Context) -> usize

Returns the minimum required alignment of the inline portion of the encoded object. It must be a (nonzero) power of two.
Source§

fn inline_size(_context: Context) -> usize

Returns the size of the inline portion of the encoded object, including padding for alignment. Must be a multiple of inline_align.
Source§

fn encode_is_copy() -> bool

Returns true if the memory layout of 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
Source§

fn decode_is_copy() -> bool

Returns true if the memory layout of 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

Source§

type Borrowed<'a> = &'a DeviceBaseInfo

The Rust type to use for encoding. This is a particular Encode<Self> type cheaply obtainable from &Self::Owned. There are three cases: Read more
Source§

fn borrow( value: &<DeviceBaseInfo as TypeMarker>::Owned, ) -> <DeviceBaseInfo as ValueTypeMarker>::Borrowed<'_>

Cheaply converts from &Self::Owned to Self::Borrowed.

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> Body for T
where T: Persistable,

Source§

type MarkerAtTopLevel = T

The marker type to use when the body is at the top-level.
Source§

type MarkerInResultUnion = T

The marker type to use when the body is nested in a result union.
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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T, D> Encode<Ambiguous1, D> for T
where D: ResourceDialect,

Source§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
Source§

impl<T, D> Encode<Ambiguous2, D> for T
where D: ResourceDialect,

Source§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
Source§

impl<E> ErrorType for E

Source§

type Marker = E

The marker type.
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.

§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.