class SetConstraints

Defined at line 2330 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/cpp/fidl/fuchsia.sysmem/cpp/markers.h

Provide BufferCollectionConstraints to the logical BufferCollection.

A participant may only call SetConstraints() once.

Sometimes the initiator is a participant only in the sense of wanting to

keep an eye on success/failure to populate with buffers, and zx.Status

on failure. In that case, `has_constraints` can be false, and

`constraints` will be ignored.

VMO handles will not be provided to the client that sends null

constraints - that can be intentional for an initiator that doesn't need

VMO handles. Not having VMO handles doesn't prevent the initator from

adjusting which portion of a buffer is considered valid and similar, but

the initiator can't hold a VMO handle open to prevent the logical

BufferCollection from cleaning up if the logical BufferCollection needs

to go away regardless of the initiator's degree of involvement for

whatever reason.

For population of buffers to be attempted, all holders of a

BufferCollection client channel need to call SetConstraints() before

sysmem will attempt to allocate buffers.

`has_constraints` if false, the constraints are effectively null, and

`constraints` are ignored. The sender of null constraints won't get any

VMO handles in BufferCollectionInfo, but can still find out how many

buffers were allocated and can still refer to buffers by their

buffer_index.

`constraints` are constraints on the buffer collection.

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