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