class PagerProxy

Defined at line 27 of file ../../zircon/kernel/object/include/object/pager_proxy.h

Page provider implementation that talks to a userspace pager service.

The lifecycle of this class is a little complicated because the pager dispatcher's port

potentially has an unmanaged reference to the PageSource that contains the PagerProxy through

packet_. Because of this, we need to ensure that the last RefPtr to the PageSource isn't released

too early when the pager dispatcher gets closed. Normally, the dispatcher can retain its

reference to the PageSource until the port frees its reference to packet_ (through the

PortAllocator). However, if the dispatcher is destroyed, if we can't revoke the port's reference

to packet_, then we end up making the PagerProxy keep a reference to the containing PageSource

until the packet is freed.

Public Members

static const uint32_t kTrapDirty

Public Methods

void PagerProxy (PagerDispatcher * dispatcher, fbl::RefPtr<PortDispatcher> port, uint64_t key, uint32_t options)

Defined at line 28 of file ../../zircon/kernel/object/pager_proxy.cc

void ~PagerProxy ()

Defined at line 34 of file ../../zircon/kernel/object/pager_proxy.cc

Friends

class PagerDispatcher