class PagedVmoBase

Defined at line 23 of file ../../sdk/lib/async/include/lib/async/cpp/paged_vmo.h

Holds content for a paged vmo packet receiver and its handler.

After successfully binding the port, the client is responsible for

retaining the structure in memory (and unmodified) until all packets have

been received by the handler or the dispatcher shuts down.

Concrete implementations: |async::PagedVmo|, |async::PagedVmoMethod|.

Please do not create subclasses of PagedVmoBase outside of this library.

Public Methods

zx_status_t CreateVmo (async_dispatcher_t * dispatcher, zx::unowned_pager pager, uint32_t options, uint64_t vmo_size, zx::vmo * vmo_out)

Creates a paged VMO registered with |pager|, which will receive notifications on the

receiver provided in the constructor of |PagedVmoBase|.

Returns |ZX_ERR_ALREADY_EXISTS| if this object is already associated with a VMO.

May return any error from |async_create_paged_vmo()|.

Defined at line 19 of file ../../sdk/lib/async/paged_vmo.cc

zx_status_t Detach ()

Detach the paged VMO from the underlying port.

Returns |ZX_OK| if the VMO is successfully detached.

Returns |ZX_ERR_NOT_FOUND| if this object is not bound.

May return any error from |async_detach_paged_vmo()|.

Defined at line 36 of file ../../sdk/lib/async/paged_vmo.cc

bool is_bound ()

Return true if this object is bound to a VMO.

Defined at line 45 of file ../../sdk/lib/async/include/lib/async/cpp/paged_vmo.h

Protected Methods

void PagedVmoBase (async_paged_vmo_handler_t * handler)

Defined at line 12 of file ../../sdk/lib/async/paged_vmo.cc

void ~PagedVmoBase ()

Defined at line 17 of file ../../sdk/lib/async/paged_vmo.cc

void PagedVmoBase (const PagedVmoBase & )

Defined at line 28 of file ../../sdk/lib/async/include/lib/async/cpp/paged_vmo.h

void PagedVmoBase (PagedVmoBase && )

Defined at line 29 of file ../../sdk/lib/async/include/lib/async/cpp/paged_vmo.h

PagedVmoBase & operator= (const PagedVmoBase & )

Defined at line 30 of file ../../sdk/lib/async/include/lib/async/cpp/paged_vmo.h

PagedVmoBase & operator= (PagedVmoBase && )

Defined at line 31 of file ../../sdk/lib/async/include/lib/async/cpp/paged_vmo.h

template <typename T>
T * Dispatch (async_paged_vmo_t * paged_vmo, zx_status_t status)

Defined at line 34 of file ../../sdk/lib/async/include/lib/async/cpp/paged_vmo.h