class CreateBufferCollectionTokenGroup
Defined at line 1729 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/markers.h
Create a logical OR among a set of tokens, called a
[`fuchsia.sysmem2/BufferCollectionTokenGroup`].
Most sysmem clients and many participants don't need to care about this
message or about `BufferCollectionTokenGroup`(s). However, in some cases
a participant wants to attempt to include one set of delegate
participants, but if constraints don't combine successfully that way,
fall back to a different (possibly overlapping) set of delegate
participants, and/or fall back to a less demanding strategy (in terms of
how strict the [`fuchisa.sysmem2/BufferCollectionConstraints`] are,
across all involved delegate participants). In such cases, a
`BufferCollectionTokenGroup` is useful.
A `BufferCollectionTokenGroup` is used to create a 1 of N OR among N
child [`fuchsia.sysmem2/BufferCollectionToken`](s). The child tokens
which are not selected during aggregation will fail (close), which a
potential participant should notice when their `BufferCollection`
channel client endpoint sees PEER_CLOSED, allowing the participant to
clean up the speculative usage that didn't end up happening (this is
simimlar to a normal `BufferCollection` server end closing on failure to
allocate a logical buffer collection or later async failure of a buffer
collection).
See comments on protocol `BufferCollectionTokenGroup`.
Any `rights_attenuation_mask` or `AttachToken`/`SetDispensable` to be
applied to the whole group can be achieved with a
`BufferCollectionToken` for this purpose as a direct parent of the
`BufferCollectionTokenGroup`.
All table fields are currently required.
+ request `group_request` The server end of a
`BufferCollectionTokenGroup` channel to be served by sysmem.
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