class QueueRequests
Defined at line 104 of file fidling/gen/sdk/fidl/fuchsia.hardware.usb.endpoint/fuchsia.hardware.usb.endpoint/cpp/fidl/fuchsia.hardware.usb.endpoint/cpp/markers.h
Submit Requests to queue. Processed starting with the 0th Request. Submitting a vector of
Requests allows for pre-buffering.
Clients are responsible for cache management and ensuring cache coherency.
After read requests:
- Call zx_cache_flush with ZX_CACHE_FLUSH_DATA | ZX_CACHE_FLUSH_INVALIDATE on buffers that
have been mapped by the client.
- Call zx_vmo_op_range with ZX_VMO_OP_CACHE_CLEAN_INVALIDATE on all other buffers.
Note that writing to any portion of a buffer before OnCompletion is called for that buffer
can corrupt the received data.
Before write requests:
- Call zx_cache_flush with ZX_CACHE_FLUSH_DATA on buffers that have been mapped by the
client.
- Call zx_vmo_op_range with ZX_VMO_OP_CACHE_CLEAN on all other buffers.
Requests may be pre-buffered. In other words, requests may be queued for data that is not
present/ready in the buffer yet. The USB Endpoint Server consuming requests does not care
if the data in the buffer is ready or not and will always process requests on schedule. It
is the responsibility of the USB Endpoint Client that submits requests to ensure that data
is ready on schedule.
* Definition of "on schedule" varies for different endpoints and controllers. In general,
this will be communicated by the `lead_time` parameter returned by `GetInfo`.
Public Members
static const bool kHasClientToServer
static const bool kHasClientToServerBody
static const bool kHasServerToClient
static const bool kHasServerToClientBody
static const bool kHasNonEmptyUserFacingResponse
static const bool kHasDomainError
static const bool kHasFrameworkError
static const uint64_t kOrdinal