class BufferCollection

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

BufferCollection is a connection directly from a participant to sysmem re.

a logical BufferCollection; typically the logical BufferCollection is shared

with other participants. In other words, an instance of the BufferCollection

interface is a view of a "logical buffer collection".

This connection exists to facilitate async indication of when the logical

BufferCollection has been populated with buffers.

Also, the channel's closure by the server is an indication to the client

that the client should close all VMO handles that were obtained from the

BufferCollection ASAP.

Also, this interface may in future allow specifying constraints in other

ways, and may allow for back-and-forth negotiation of constraints to some

degree.

This interface may in future allow for more than 64 VMO handles per

BufferCollection, but currently the limit is 64.

This interface may in future allow for allocating/deallocating single

buffers.

Some initiators may wait a short duration until all old logical

BufferCollection VMO handles have closed (or until the short duration times

out) before allocating a new BufferCollection, to help control physical

memory fragmentation and avoid overlap of buffer allocation lifetimes for

the old and new collections. Collections can be large enough that it's worth

avoiding allocation overlap (in time).

Public Members

static Openness kOpenness

Records