class DataTransfer
Defined at line 4448 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/hlcpp/fuchsia/hardware/audio/cpp/fidl.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 Members
static const fidl_type_t * FidlType
Public Methods
void DataTransfer ()
void DataTransfer (DataTransfer && )
DataTransfer & operator= (DataTransfer && )
DataTransfer WithVmoTransfer (::fuchsia::hardware::audio::VmoTransfer && )
DataTransfer WithInlineData (::std::vector<uint8_t> && )
::std::unique_ptr<DataTransfer> New ()
void Encode (::fidl::Encoder * encoder, size_t offset, std::optional< ::fidl::HandleInformation> maybe_handle_info)
void Decode (::fidl::Decoder * _decoder, DataTransfer * value, size_t offset)
zx_status_t Clone (DataTransfer * result)
DataTransfer & set_vmo_transfer (::fuchsia::hardware::audio::VmoTransfer value)
DataTransfer & SetUnknownData (fidl_xunion_tag_t ordinal, std::vector<uint8_t> bytes, std::vector<zx::handle> handles)
bool has_invalid_tag ()
Defined at line 4476 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/hlcpp/fuchsia/hardware/audio/cpp/fidl.h
bool is_vmo_transfer ()
Defined at line 4480 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/hlcpp/fuchsia/hardware/audio/cpp/fidl.h
DataTransfer & set_inline_data (::std::vector<uint8_t> value)
::fuchsia::hardware::audio::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`.
Defined at line 4485 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/hlcpp/fuchsia/hardware/audio/cpp/fidl.h
const ::fuchsia::hardware::audio::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`.
Defined at line 4493 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/hlcpp/fuchsia/hardware/audio/cpp/fidl.h
bool is_inline_data ()
Defined at line 4499 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/hlcpp/fuchsia/hardware/audio/cpp/fidl.h
::std::vector<uint8_t> & inline_data ()
Embedded data buffer.
Requires `PacketStreamProperties.supported_buffer_types` to include `INLINE`.
Defined at line 4503 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/hlcpp/fuchsia/hardware/audio/cpp/fidl.h
const ::std::vector<uint8_t> & inline_data ()
Embedded data buffer.
Requires `PacketStreamProperties.supported_buffer_types` to include `INLINE`.
Defined at line 4510 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/hlcpp/fuchsia/hardware/audio/cpp/fidl.h
::fuchsia::hardware::audio::DataTransfer::Tag Which ()
Defined at line 4517 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/hlcpp/fuchsia/hardware/audio/cpp/fidl.h
fidl_xunion_tag_t Ordinal ()
You probably want to use Which() method instead of Ordinal(). Use Ordinal() only when you need
access to the raw integral ordinal value.
Defined at line 4532 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/hlcpp/fuchsia/hardware/audio/cpp/fidl.h
const std::vector<uint8_t> * UnknownBytes ()
Defined at line 4535 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/hlcpp/fuchsia/hardware/audio/cpp/fidl.h
const std::vector<zx::handle> * UnknownHandles ()
Defined at line 4541 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/hlcpp/fuchsia/hardware/audio/cpp/fidl.h
void ~DataTransfer ()
Enumerations
enum Tag
| Name | Value |
|---|---|
| kUnknown | 0 |
| kVmoTransfer | 1 |
| kInlineData | 2 |
| Invalid | ::std::numeric_limits<::fidl_union_tag_t>::max() |
Defined at line 4461 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/hlcpp/fuchsia/hardware/audio/cpp/fidl.h
Friends
class Equality