class BufferCollection
Defined at line 2872 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/markers.h
[`fuchsia.sysmem2/BufferCollection`] is a connection directly from a
participant to sysmem re. a buffer collection; often the buffer collection
is shared with other participants which have their own `BufferCollection`
client end(s) associated with the same buffer collection. In other words,
an instance of the `BufferCollection` interface is a view of a buffer
collection, not the buffer collection itself.
The `BufferCollection` connection exists to facilitate async indication of
when the buffer collection has been populated with buffers.
Also, the channel's closure by the sysmem server is an indication to the
client that the client should close all VMO handles that were obtained from
the `BufferCollection` ASAP.
Some buffer collections can use enough memory that it can be worth avoiding
allocation overlap (in time) using
[`fuchsia.sysmem2/BufferCollection.AttachLifetimeTracking`] so that the
initiator can tell when enough buffers of the buffer collection have been
fully deallocated prior to the initiator allocating a new buffer collection.
Epitaphs are not used in this protocol.
Public Members
static Openness kOpenness
Records
-
class AttachLifetimeTracking -
class AttachNodeTracking -
class AttachToken -
class CheckAllBuffersAllocated -
class GetBufferCollectionId -
class GetNodeRef -
class IsAlternateFor -
class Release -
class SetConstraints -
class SetDebugClientInfo -
class SetDebugTimeoutLogDeadline -
class SetName -
class SetVerboseLogging -
class SetWeak -
class SetWeakOk -
class Sync -
class WaitForAllBuffersAllocated