class DuplicateSync
Defined at line 1523 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/markers.h
Create additional [`fuchsia.sysmem2/BufferCollectionToken`](s) from this
one, referring to the same buffer collection.
The created tokens are children of this token in the
[`fuchsia.sysmem2/Node`] heirarchy.
This method can be used to add more participants, by transferring the
newly created tokens to additional participants.
A new token will be returned for each entry in the
`rights_attenuation_masks` array.
If the called token may not actually be a valid token due to a
potentially hostile/untrusted provider of the token, consider using
[`fuchsia.sysmem2/Allocator.ValidateBufferCollectionToken`] first
instead of potentially getting stuck indefinitely if
[`fuchsia.sysmem2/BufferCollectionToken.DuplicateSync`] never responds
due to the calling token not being a real token.
In contrast to [`fuchsia.sysmem2/BufferCollectionToken.Duplicate`], no
separate [`fuchsia.sysmem2/Node.Sync`] is needed after calling this
method, because the sync step is included in this call, at the cost of a
round trip during this call.
All tokens must be turned in to sysmem via
[`fuchsia.sysmem2/Allocator.BindSharedCollection`] or
[`fuchsia.sysmem2/Node.Release`] for a `BufferCollection` to
successfully allocate buffers (or to logically allocate buffers in the
case of subtrees involving
[`fuchsia.sysmem2/BufferCollectionToken.AttachToken`]).
All table fields are currently required.
+ request `rights_attenuation_mask` In each entry of
`rights_attenuation_masks`, rights bits that are zero will be absent
in the buffer VMO rights obtainable via the corresponding returned
token. This allows an initiator or intermediary participant to
attenuate the rights available to a participant. This does not allow a
participant to gain rights that the participant doesn't already have.
The value `ZX_RIGHT_SAME_RIGHTS` can be used to specify that no
attenuation should be applied.
- response `tokens` The client ends of each newly created token.
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