class CreateChildrenSync

Defined at line 2486 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/markers.h

Create 1 or more child tokens at once, synchronously. In contrast to

[`fuchsia.sysmem2/BufferCollectionTokenGroup.CreateChild`], no

[`fuchsia.sysmem2/Node.Sync`] is required before passing the client end

of a returned token to

[`fuchsia.sysmem2/Allocator/BindSharedCollection`].

The lower-index child tokens are higher priority (attempted sooner) than

higher-index child tokens.

As per all child tokens, successful aggregation will choose exactly one

child among all created children (across all children created across

potentially multiple calls to

[`fuchsia.sysmem2/BufferCollectionTokenGroup.CreateChild`] and

[`fuchsia.sysmem2/BufferCollectionTokenGroup.CreateChildrenSync`]).

The maximum permissible total number of children per group, and total

number of nodes in an overall tree (from the root) are capped to limits

which are not configurable via these protocols.

Sending CreateChildrenSync after AllChildrenPresent is not permitted;

this will fail the group's subtree and close the connection.

After all children have been created, send AllChildrenPresent.

+ request `rights_attentuation_masks` The size of the

`rights_attentuation_masks` determines the number of created child

tokens. The value ZX_RIGHT_SAME_RIGHTS doesn't attenuate any rights.

The value 0xFFFFFFFF is a synonym for ZX_RIGHT_SAME_RIGHTS. For any

other value, each 0 bit in the mask attenuates that right.

- response `tokens` The created child tokens.

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