class LogicalBuffer
Defined at line 133 of file ../../src/sysmem/server/logical_buffer_collection.h
This is all the per-VMO info and mechanism except for
LogicalBufferCollection::allocation_result_info_, which we keep in sync with the set of
LogicalBuffer(s) in LogicalBufferCollection::buffers_.
This is always held in a std::unique_ptr
<
> instead of move-only because TrackedParentVmo
do_delete callbacks within need to capture a non-moving LogicalBuffer. We use std::unique_ptr
<
>
rather than shared_ptr
<
> or fbl::RefPtr
<
> because we need to ensure we can just delete all the
buffers in buffers_ if LogicalBufferCollection::Allocate() fails to allocate a later buffer.
Public Methods
void LogicalBuffer (const LogicalBuffer & to_copy)
move-only
Defined at line 150 of file ../../src/sysmem/server/logical_buffer_collection.h
LogicalBuffer & operator= (const LogicalBuffer & to_copy)
Defined at line 151 of file ../../src/sysmem/server/logical_buffer_collection.h
void LogicalBuffer (LogicalBuffer && to_move)
Defined at line 152 of file ../../src/sysmem/server/logical_buffer_collection.h
LogicalBuffer & operator= (LogicalBuffer && to_move)
Defined at line 153 of file ../../src/sysmem/server/logical_buffer_collection.h
fit::result<zx_status_t, std::unique_ptr<LogicalBuffer>> Create (fbl::RefPtr<LogicalBufferCollection> logical_buffer_collection, uint32_t buffer_index, zx::vmo parent_vmo)
Defined at line 5445 of file ../../src/sysmem/server/logical_buffer_collection.cc
fit::result<zx_status_t, std::optional<zx::vmo>> CreateWeakVmo (const ClientDebugInfo & client_debug_info)
Defined at line 5701 of file ../../src/sysmem/server/logical_buffer_collection.cc
LogicalBufferCollection & logical_buffer_collection ()
Defined at line 5790 of file ../../src/sysmem/server/logical_buffer_collection.cc
uint32_t buffer_index ()
Defined at line 5794 of file ../../src/sysmem/server/logical_buffer_collection.cc
zx::vmo TakeStrongChildVmo ()
Client code should take this VMO before moving LogicalBuffer from stack to heap.
Defined at line 5783 of file ../../src/sysmem/server/logical_buffer_collection.cc
fit::result<zx_status_t, zx::eventpair> DupCloseWeakAsapClientEnd ()
Defined at line 4683 of file ../../src/sysmem/server/logical_buffer_collection.cc
Friends
class LogicalBufferCollection