class BufferCollection

Defined at line 28 of file ../../src/sysmem/server/buffer_collection.h

This class indirectly implements both V1 and V2 BufferCollection server.

This class can't directly implement both servers because FIDL completers for one-way messages

from client to server end up using the same type, which makes the overrride(s) ambiguous for any

one-way message with no parameters.

Public Methods

bool is_set_constraints_seen ()

LogicalBufferCollection uses these:

Defined at line 46 of file ../../src/sysmem/server/buffer_collection.h

BufferCollection & EmplaceInTree (fbl::RefPtr<LogicalBufferCollection> logical_buffer_collection, BufferCollectionToken * token, const CollectionServerEnd & server_end)

Use EmplaceInTree() instead of Create() (until we switch to llcpp when we can have a new

Create() that does what EmplaceInTree() currently does). The returned reference is valid while

this Node is in the tree under root_.

Defined at line 59 of file ../../src/sysmem/server/buffer_collection.cc

void ~BufferCollection ()

Defined at line 92 of file ../../src/sysmem/server/buffer_collection.cc

bool has_constraints ()

Defined at line 792 of file ../../src/sysmem/server/buffer_collection.cc

const fuchsia_sysmem2::BufferCollectionConstraints & constraints ()

has_constraints() must be true to call this.

Defined at line 794 of file ../../src/sysmem/server/buffer_collection.cc

fuchsia_sysmem2::BufferCollectionConstraints CloneConstraints ()

has_constraints() must be true to call this, and will stay true after calling this.

Defined at line 799 of file ../../src/sysmem/server/buffer_collection.cc

fbl::RefPtr<LogicalBufferCollection> logical_buffer_collection_shared ()
bool should_propagate_failure_to_parent_node ()
bool ReadyForAllocation ()

Node interface

Defined at line 942 of file ../../src/sysmem/server/buffer_collection.cc

void OnBuffersAllocated (const AllocationResult & allocation_result)

Defined at line 768 of file ../../src/sysmem/server/buffer_collection.cc

BufferCollectionToken * buffer_collection_token ()

Defined at line 944 of file ../../src/sysmem/server/buffer_collection.cc

const BufferCollectionToken * buffer_collection_token ()

Defined at line 946 of file ../../src/sysmem/server/buffer_collection.cc

BufferCollection * buffer_collection ()

Defined at line 948 of file ../../src/sysmem/server/buffer_collection.cc

const BufferCollection * buffer_collection ()

Defined at line 950 of file ../../src/sysmem/server/buffer_collection.cc

BufferCollectionTokenGroup * buffer_collection_token_group ()

Defined at line 952 of file ../../src/sysmem/server/buffer_collection.cc

const BufferCollectionTokenGroup * buffer_collection_token_group ()

Defined at line 954 of file ../../src/sysmem/server/buffer_collection.cc

OrphanedNode * orphaned_node ()

Defined at line 958 of file ../../src/sysmem/server/buffer_collection.cc

const OrphanedNode * orphaned_node ()

Defined at line 960 of file ../../src/sysmem/server/buffer_collection.cc

bool is_connected_type ()

Defined at line 962 of file ../../src/sysmem/server/buffer_collection.cc

bool is_currently_connected ()

Defined at line 964 of file ../../src/sysmem/server/buffer_collection.cc

const char * node_type_string ()

Defined at line 968 of file ../../src/sysmem/server/buffer_collection.cc

ConnectionVersion connection_version ()

Defined at line 970 of file ../../src/sysmem/server/buffer_collection.cc

void Bind (CollectionServerEnd collection_server_end)

Defined at line 108 of file ../../src/sysmem/server/buffer_collection.cc

Protected Methods

void BindInternalV1 (zx::channel collection_request, ErrorHandlerWrapper error_handler_wrapper)

Defined at line 112 of file ../../src/sysmem/server/buffer_collection.cc

void BindInternalV2 (zx::channel collection_request, ErrorHandlerWrapper error_handler_wrapper)

Defined at line 125 of file ../../src/sysmem/server/buffer_collection.cc

void BindInternalCombinedV1AndV2 (zx::channel server_end, ErrorHandlerWrapper error_handler_wrapper)

Defined at line 138 of file ../../src/sysmem/server/buffer_collection.cc

Friends

class FidlServer