template <typename BuilderImpl>

class WireTableBaseBuilder

Defined at line 488 of file fidling/gen/sdk/fidl/fuchsia.hardware.network/fuchsia.hardware.network/cpp/fidl/fuchsia.hardware.network/cpp/wire_types.h

Public Methods

::fuchsia_hardware_network::wire::DeviceBaseInfo Build ()

Build and return the table. The builder should not be used after this.

bool has_rx_depth ()
void clear_rx_depth ()

Clears the rx_depth field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

uint16_t & rx_depth ()

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.

BuilderImpl & rx_depth (uint16_t elem)

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.

bool has_tx_depth ()
void clear_tx_depth ()

Clears the tx_depth field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

uint16_t & tx_depth ()

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.

BuilderImpl & tx_depth (uint16_t elem)

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.

bool has_buffer_alignment ()
void clear_buffer_alignment ()

Clears the buffer_alignment field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

uint32_t & buffer_alignment ()

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.

BuilderImpl & buffer_alignment (uint32_t elem)

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.

bool has_max_buffer_length ()
void clear_max_buffer_length ()

Clears the max_buffer_length field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

uint32_t & max_buffer_length ()

Maximum supported length of buffers in the data VMO, in bytes.

Absent if no maximum buffer length is defined. Must be nonzero.

BuilderImpl & max_buffer_length (uint32_t elem)

Maximum supported length of buffers in the data VMO, in bytes.

Absent if no maximum buffer length is defined. Must be nonzero.

bool has_min_rx_buffer_length ()
void clear_min_rx_buffer_length ()

Clears the min_rx_buffer_length field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

uint32_t & min_rx_buffer_length ()

The minimum rx buffer length required for device. Required.

BuilderImpl & min_rx_buffer_length (uint32_t elem)

The minimum rx buffer length required for device. Required.

bool has_min_tx_buffer_length ()
void clear_min_tx_buffer_length ()

Clears the min_tx_buffer_length field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

uint32_t & min_tx_buffer_length ()

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.

BuilderImpl & min_tx_buffer_length (uint32_t elem)

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.

bool has_min_tx_buffer_head ()
void clear_min_tx_buffer_head ()

Clears the min_tx_buffer_head field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

uint16_t & min_tx_buffer_head ()

The number of bytes the device requests be free as `head` space in a tx

buffer. Required.

BuilderImpl & min_tx_buffer_head (uint16_t elem)

The number of bytes the device requests be free as `head` space in a tx

buffer. Required.

bool has_min_tx_buffer_tail ()
void clear_min_tx_buffer_tail ()

Clears the min_tx_buffer_tail field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

uint16_t & min_tx_buffer_tail ()

The amount of bytes the device requests be free as `tail` space in a tx

buffer. Required.

BuilderImpl & min_tx_buffer_tail (uint16_t elem)

The amount of bytes the device requests be free as `tail` space in a tx

buffer. Required.

bool has_max_buffer_parts ()
void clear_max_buffer_parts ()

Clears the max_buffer_parts field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

uint8_t & max_buffer_parts ()

Maximum descriptor chain length accepted by the device. Required.

BuilderImpl & max_buffer_parts (uint8_t elem)

Maximum descriptor chain length accepted by the device. Required.

bool has_rx_accel ()
void clear_rx_accel ()

Clears the rx_accel field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::VectorView< ::fuchsia_hardware_network::wire::RxAcceleration> & rx_accel ()

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.

BuilderImpl & rx_accel (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_hardware_network::wire::RxAcceleration>>> elem)

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.

bool has_tx_accel ()
void clear_tx_accel ()

Clears the tx_accel field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::VectorView< ::fuchsia_hardware_network::wire::TxAcceleration> & tx_accel ()

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.

BuilderImpl & tx_accel (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_hardware_network::wire::TxAcceleration>>> elem)

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.

Protected Methods

void WireTableBaseBuilder< ::fuchsia_hardware_network::wire::DeviceBaseInfo, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_hardware_network::wire::DeviceBaseInfo>> && frame)

Records