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