class DataTransfer
Defined at line 3704 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/cpp/fidl/fuchsia.hardware.audio/cpp/natural_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 (DataTransfer && other)
DataTransfer & operator= (DataTransfer && other)
bool IsUnknown ()
::fuchsia_hardware_audio::DataTransfer::Tag Which ()
DataTransfer WithVmoTransfer (::fuchsia_hardware_audio::VmoTransfer val)
const ::fidl::internal::UnionMemberView<1, Storage_> vmo_transfer ()
::fidl::internal::UnionMemberView<1, Storage_> vmo_transfer ()
DataTransfer & vmo_transfer (::fuchsia_hardware_audio::VmoTransfer value)
Data is stored in a region of a registered VMO.
Requires `PacketStreamProperties.supported_buffer_types` to include `CLIENT_OWNED`
or `DRIVER_OWNED`.
DataTransfer WithInlineData (::std::vector<uint8_t> val)
const ::fidl::internal::UnionMemberView<2, Storage_> inline_data ()
::fidl::internal::UnionMemberView<2, Storage_> inline_data ()
DataTransfer & inline_data (::std::vector<uint8_t> value)
Embedded data buffer.
Requires `PacketStreamProperties.supported_buffer_types` to include `INLINE`.
void DataTransfer (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )
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() |
TODO: share union tag types between wire
&
natural.
Defined at line 3714 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/cpp/fidl/fuchsia.hardware.audio/cpp/natural_types.h
Friends
class NaturalUnionCodingTraits