class DataTransfer

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

Data to be transferred. There are two supported ways data may be conveyed, corresponding to the

two members of the DataTransfer union:

1) vmo_transfer: A region within a VMO previously known to the driver. This VMO must have been

established via `PacketStreamControl.RegisterVmos` (if client-allocated) or

`PacketStreamControl.AllocateVmos` (if driver-allocated). Future requests refer to this

buffer by the unique `vmo_id`. Because VMOs are reused across requests, the one-time

cost of pinning/mapping is amortized.

2) data: The payload is provided directly within the message. This mode is intended for

small transfers or control information, not high-throughput streaming.

Public Methods

void DataTransfer ()
void ~DataTransfer ()
void DataTransfer (DataTransfer && other)
bool IsUnknown ()

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

DataTransfer & operator= (DataTransfer && other)
bool has_invalid_tag ()
bool is_vmo_transfer ()
DataTransfer WithVmoTransfer (::fidl::ObjectView< ::fuchsia_hardware_audio::wire::VmoTransfer> val)

Data is stored in a region of a registered VMO.

Requires `PacketStreamProperties.supported_buffer_types` to include `CLIENT_OWNED`

or `DRIVER_OWNED`.

template <typename... Args>
DataTransfer WithVmoTransfer (::fidl::AnyArena & allocator, Args &&... args)

Data is stored in a region of a registered VMO.

Requires `PacketStreamProperties.supported_buffer_types` to include `CLIENT_OWNED`

or `DRIVER_OWNED`.

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

::fuchsia_hardware_audio::wire::VmoTransfer & vmo_transfer ()

Data is stored in a region of a registered VMO.

Requires `PacketStreamProperties.supported_buffer_types` to include `CLIENT_OWNED`

or `DRIVER_OWNED`.

const ::fuchsia_hardware_audio::wire::VmoTransfer & vmo_transfer ()

Data is stored in a region of a registered VMO.

Requires `PacketStreamProperties.supported_buffer_types` to include `CLIENT_OWNED`

or `DRIVER_OWNED`.

bool is_inline_data ()
DataTransfer WithInlineData (::fidl::ObjectView< ::fidl::VectorView<uint8_t>> val)

Embedded data buffer.

Requires `PacketStreamProperties.supported_buffer_types` to include `INLINE`.

template <typename... Args>
DataTransfer WithInlineData (::fidl::AnyArena & allocator, Args &&... args)

Embedded data buffer.

Requires `PacketStreamProperties.supported_buffer_types` to include `INLINE`.

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

::fidl::VectorView<uint8_t> & inline_data ()

Embedded data buffer.

Requires `PacketStreamProperties.supported_buffer_types` to include `INLINE`.

const ::fidl::VectorView<uint8_t> & inline_data ()

Embedded data buffer.

Requires `PacketStreamProperties.supported_buffer_types` to include `INLINE`.

::fuchsia_hardware_audio::wire::DataTransfer::Tag Which ()
void _CloseHandles ()

Enumerations

enum Tag
Name Value
kVmoTransfer 1
kInlineData 2
_do_not_handle_this__write_a_default_case_instead ::std::numeric_limits<::fidl_union_tag_t>::max()

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