class OrphanedNode
Defined at line 22 of file ../../src/sysmem/server/orphaned_node.h
An OrphanedNode keeps the place of a former BufferCollectionToken or BufferCollection in the
hierarchical failure domain tree. This way we don't need to adjust the tree due to disappearing
Node; instead we just replace with an OrphanedNode. The OrphanedNode also preserves the
error_propagation_mode(), and avoids needing to check for Node absence in several places. The
OrphanedNode also preserves BufferCollectionConstraints of a former BufferCollection when
applicable.
The only way an OrphanedNode can exist is if Close() was used on the BufferCollectionToken or
BufferCollection, because otherwise the sub-tree (or whole tree) fails, which removes the nodes
in that sub-tree (or whole tree).
Public Methods
OrphanedNode & EmplaceInTree (fbl::RefPtr<LogicalBufferCollection> logical_buffer_collection, NodeProperties * node_properties)
static
Defined at line 17 of file ../../src/sysmem/server/orphaned_node.cc
bool ReadyForAllocation ()
Node interface
Defined at line 29 of file ../../src/sysmem/server/orphaned_node.cc
void OnBuffersAllocated (const AllocationResult & allocation_result)
Defined at line 31 of file ../../src/sysmem/server/orphaned_node.cc
BufferCollectionToken * buffer_collection_token ()
Defined at line 36 of file ../../src/sysmem/server/orphaned_node.cc
const BufferCollectionToken * buffer_collection_token ()
Defined at line 38 of file ../../src/sysmem/server/orphaned_node.cc
BufferCollection * buffer_collection ()
Defined at line 40 of file ../../src/sysmem/server/orphaned_node.cc
const BufferCollection * buffer_collection ()
Defined at line 42 of file ../../src/sysmem/server/orphaned_node.cc
BufferCollectionTokenGroup * buffer_collection_token_group ()
Defined at line 44 of file ../../src/sysmem/server/orphaned_node.cc
const BufferCollectionTokenGroup * buffer_collection_token_group ()
Defined at line 46 of file ../../src/sysmem/server/orphaned_node.cc
OrphanedNode * orphaned_node ()
Defined at line 50 of file ../../src/sysmem/server/orphaned_node.cc
const OrphanedNode * orphaned_node ()
Defined at line 52 of file ../../src/sysmem/server/orphaned_node.cc
bool is_connected_type ()
Defined at line 54 of file ../../src/sysmem/server/orphaned_node.cc
bool is_currently_connected ()
Defined at line 56 of file ../../src/sysmem/server/orphaned_node.cc
const char * node_type_string ()
Defined at line 58 of file ../../src/sysmem/server/orphaned_node.cc
ConnectionVersion connection_version ()
Defined at line 60 of file ../../src/sysmem/server/orphaned_node.cc
Protected Methods
void BindInternalV1 (zx::channel server_end, ErrorHandlerWrapper error_handler_wrapper)
OrphanedNode::BindV1() will never happen; panics.
Defined at line 71 of file ../../src/sysmem/server/orphaned_node.cc
void BindInternalV2 (zx::channel server_end, ErrorHandlerWrapper error_handler_wrapper)
OrphanedNode::BindV2() will never happen; panics.
Defined at line 76 of file ../../src/sysmem/server/orphaned_node.cc
void BindInternalCombinedV1AndV2 (zx::channel server_end, ErrorHandlerWrapper error_handler_wrapper)
This will never happen; panics.
Defined at line 81 of file ../../src/sysmem/server/orphaned_node.cc
void CloseServerBinding (zx_status_t epitaph)
NOP
Defined at line 86 of file ../../src/sysmem/server/orphaned_node.cc