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