class DeviceImplInfo
Defined at line 1506 of file fidling/gen/sdk/fidl/fuchsia.hardware.network.driver/fuchsia.hardware.network.driver/cpp/fidl/fuchsia.hardware.network.driver/cpp/natural_types.h
Static device information.
`DeviceImplInfo` must not change for the entire lifetime of a device.
Public Methods
void DeviceImplInfo ()
Defined at line 1511 of file fidling/gen/sdk/fidl/fuchsia.hardware.network.driver/fuchsia.hardware.network.driver/cpp/fidl/fuchsia.hardware.network.driver/cpp/natural_types.h
void DeviceImplInfo (DeviceImplInfo && )
Defined at line 1512 of file fidling/gen/sdk/fidl/fuchsia.hardware.network.driver/fuchsia.hardware.network.driver/cpp/fidl/fuchsia.hardware.network.driver/cpp/natural_types.h
void DeviceImplInfo (Storage_ storage)
void DeviceImplInfo (const DeviceImplInfo & other)
DeviceImplInfo & operator= (const DeviceImplInfo & other)
bool operator== (const DeviceImplInfo & other)
bool operator!= (const DeviceImplInfo & other)
bool IsEmpty ()
const std::optional<uint32_t> & device_features ()
Device features
Required.
::std::optional<uint32_t> & device_features ()
Device features
Required.
DeviceImplInfo & device_features (std::optional<uint32_t> value)
Device features
Required.
const std::optional<uint16_t> & tx_depth ()
Maximum depth of tx frames in device's outgoing queue.
Required.
::std::optional<uint16_t> & tx_depth ()
Maximum depth of tx frames in device's outgoing queue.
Required.
DeviceImplInfo & tx_depth (std::optional<uint16_t> value)
Maximum depth of tx frames in device's outgoing queue.
Required.
const std::optional<uint16_t> & rx_depth ()
Maximum number of rx frames in a device's incoming queue.
Required.
::std::optional<uint16_t> & rx_depth ()
Maximum number of rx frames in a device's incoming queue.
Required.
DeviceImplInfo & rx_depth (std::optional<uint16_t> value)
Maximum number of rx frames in a device's incoming queue.
Required.
const std::optional<uint16_t> & rx_threshold ()
Rx depth threshold at which the device should be fed new rx buffers.
New buffer notifications from [`NetworkDeviceIfc`] may be skipped while
the number of rx buffers held by the implementation is larger than
`rx_threshold`. It is invalid to provide a value larger than `rx_depth`.
`rx_threshold = rx_depth` is functionally equivalent to `rx_threshold =
rx_depth - 1`.
A large value (close to `rx_depth`) may cause considerable CPU thrash
for small rx completion transaction sizes, while a small value may cause
the implementation to be starved of buffers. The typical choice of value
is `rx_depth / 2`.
Required.
::std::optional<uint16_t> & rx_threshold ()
Rx depth threshold at which the device should be fed new rx buffers.
New buffer notifications from [`NetworkDeviceIfc`] may be skipped while
the number of rx buffers held by the implementation is larger than
`rx_threshold`. It is invalid to provide a value larger than `rx_depth`.
`rx_threshold = rx_depth` is functionally equivalent to `rx_threshold =
rx_depth - 1`.
A large value (close to `rx_depth`) may cause considerable CPU thrash
for small rx completion transaction sizes, while a small value may cause
the implementation to be starved of buffers. The typical choice of value
is `rx_depth / 2`.
Required.
DeviceImplInfo & rx_threshold (std::optional<uint16_t> value)
Rx depth threshold at which the device should be fed new rx buffers.
New buffer notifications from [`NetworkDeviceIfc`] may be skipped while
the number of rx buffers held by the implementation is larger than
`rx_threshold`. It is invalid to provide a value larger than `rx_depth`.
`rx_threshold = rx_depth` is functionally equivalent to `rx_threshold =
rx_depth - 1`.
A large value (close to `rx_depth`) may cause considerable CPU thrash
for small rx completion transaction sizes, while a small value may cause
the implementation to be starved of buffers. The typical choice of value
is `rx_depth / 2`.
Required.
const std::optional<uint8_t> & max_buffer_parts ()
Maximum virtual discontiguous buffer parts accepted by the device.
Devices that can't perform scatter-gather operations must set
`max_buffer_parts` to 1.
Must be in the range [1, `MAX_BUFFER_PARTS`].
Required.
::std::optional<uint8_t> & max_buffer_parts ()
Maximum virtual discontiguous buffer parts accepted by the device.
Devices that can't perform scatter-gather operations must set
`max_buffer_parts` to 1.
Must be in the range [1, `MAX_BUFFER_PARTS`].
Required.
DeviceImplInfo & max_buffer_parts (std::optional<uint8_t> value)
Maximum virtual discontiguous buffer parts accepted by the device.
Devices that can't perform scatter-gather operations must set
`max_buffer_parts` to 1.
Must be in the range [1, `MAX_BUFFER_PARTS`].
Required.
const std::optional<uint32_t> & max_buffer_length ()
Maximum total length of buffers. May be set to zero for no maximum.
Devices that do not support scatter-gather DMA may set this to a value
smaller than a page size to guarantee compatibility.
Required.
::std::optional<uint32_t> & max_buffer_length ()
Maximum total length of buffers. May be set to zero for no maximum.
Devices that do not support scatter-gather DMA may set this to a value
smaller than a page size to guarantee compatibility.
Required.
DeviceImplInfo & max_buffer_length (std::optional<uint32_t> value)
Maximum total length of buffers. May be set to zero for no maximum.
Devices that do not support scatter-gather DMA may set this to a value
smaller than a page size to guarantee compatibility.
Required.
const std::optional<uint32_t> & buffer_alignment ()
Alignment requirement for buffers relative to the start of VMOs.
Must be greater than zero.
Required.
::std::optional<uint32_t> & buffer_alignment ()
Alignment requirement for buffers relative to the start of VMOs.
Must be greater than zero.
Required.
DeviceImplInfo & buffer_alignment (std::optional<uint32_t> value)
Alignment requirement for buffers relative to the start of VMOs.
Must be greater than zero.
Required.
const std::optional<uint32_t> & min_rx_buffer_length ()
The minimum rx buffer length for correct operation, in bytes.
Required.
::std::optional<uint32_t> & min_rx_buffer_length ()
The minimum rx buffer length for correct operation, in bytes.
Required.
DeviceImplInfo & min_rx_buffer_length (std::optional<uint32_t> value)
The minimum rx buffer length for correct operation, in bytes.
Required.
const std::optional<uint32_t> & min_tx_buffer_length ()
The minimum tx buffer length for correct operation, in bytes.
This length accounts only for the buffer's body, and should not account
for `tx_head_length` or `tx_tail_length`.
Required.
::std::optional<uint32_t> & min_tx_buffer_length ()
The minimum tx buffer length for correct operation, in bytes.
This length accounts only for the buffer's body, and should not account
for `tx_head_length` or `tx_tail_length`.
Required.
DeviceImplInfo & min_tx_buffer_length (std::optional<uint32_t> value)
The minimum tx buffer length for correct operation, in bytes.
This length accounts only for the buffer's body, and should not account
for `tx_head_length` or `tx_tail_length`.
Required.
void DeviceImplInfo (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )
DeviceImplInfo & operator= (DeviceImplInfo && )
Defined at line 1513 of file fidling/gen/sdk/fidl/fuchsia.hardware.network.driver/fuchsia.hardware.network.driver/cpp/fidl/fuchsia.hardware.network.driver/cpp/natural_types.h
const std::optional<uint16_t> & tx_head_length ()
Number of bytes requested as header bytes on tx buffers.
If set to zero, tx buffers will never contain header space. Otherwise,
tx buffers will start at the beginning of the header space, and the
header region will be informed.
Required.
::std::optional<uint16_t> & tx_head_length ()
Number of bytes requested as header bytes on tx buffers.
If set to zero, tx buffers will never contain header space. Otherwise,
tx buffers will start at the beginning of the header space, and the
header region will be informed.
Required.
DeviceImplInfo & tx_head_length (std::optional<uint16_t> value)
Number of bytes requested as header bytes on tx buffers.
If set to zero, tx buffers will never contain header space. Otherwise,
tx buffers will start at the beginning of the header space, and the
header region will be informed.
Required.
const std::optional<uint16_t> & tx_tail_length ()
Number of bytes requested as tail bytes on tx buffers.
If set to zero, tx buffers will never contain tail space. Otherwise, tx
buffers will end at the end of the tail space, and the tail region will
be informed.
Required.
::std::optional<uint16_t> & tx_tail_length ()
Number of bytes requested as tail bytes on tx buffers.
If set to zero, tx buffers will never contain tail space. Otherwise, tx
buffers will end at the end of the tail space, and the tail region will
be informed.
Required.
DeviceImplInfo & tx_tail_length (std::optional<uint16_t> value)
Number of bytes requested as tail bytes on tx buffers.
If set to zero, tx buffers will never contain tail space. Otherwise, tx
buffers will end at the end of the tail space, and the tail region will
be informed.
Required.
const std::optional< ::std::vector< ::fuchsia_hardware_network::RxAcceleration>> & rx_accel ()
Available Rx acceleration flags for this device, as defined in
[`fuchsia.hardware.network/RxAcceleration`].
`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.
Required.
::std::optional< ::std::vector< ::fuchsia_hardware_network::RxAcceleration>> & rx_accel ()
Available Rx acceleration flags for this device, as defined in
[`fuchsia.hardware.network/RxAcceleration`].
`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.
Required.
DeviceImplInfo & rx_accel (std::optional< ::std::vector< ::fuchsia_hardware_network::RxAcceleration>> value)
Available Rx acceleration flags for this device, as defined in
[`fuchsia.hardware.network/RxAcceleration`].
`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.
Required.
const std::optional< ::std::vector< ::fuchsia_hardware_network::TxAcceleration>> & tx_accel ()
Available tx acceleration flags for this device, as defined in
[`fuchsia.hardware.network/TxAcceleration`].
`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.
Required.
::std::optional< ::std::vector< ::fuchsia_hardware_network::TxAcceleration>> & tx_accel ()
Available tx acceleration flags for this device, as defined in
[`fuchsia.hardware.network/TxAcceleration`].
`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.
Required.
DeviceImplInfo & tx_accel (std::optional< ::std::vector< ::fuchsia_hardware_network::TxAcceleration>> value)
Available tx acceleration flags for this device, as defined in
[`fuchsia.hardware.network/TxAcceleration`].
`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.
Required.
Friends
class MemberVisitor
class NaturalTableCodingTraits