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