Fennel: /home/pub/open/dev/fennel/cache/MappedPageListener.h Source File (original) (raw)

00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 #ifndef Fennel_MappedPageListener_Included 00025 #define Fennel_MappedPageListener_Included 00026 00027 FENNEL_BEGIN_NAMESPACE 00028 00029 class CachePage; 00030 00037 class FENNEL_CACHE_EXPORT MappedPageListener 00038 { 00039 public: 00040 virtual ~MappedPageListener(); 00041 00050 virtual void notifyPageMap(CachePage &page); 00051 00059 virtual void notifyPageUnmap(CachePage &page); 00060 00068 virtual void notifyAfterPageRead(CachePage &page); 00069 00085 virtual void notifyPageDirty(CachePage &page,bool bDataValid); 00086 00094 virtual bool canFlushPage(CachePage &page); 00095 00105 virtual void notifyBeforePageFlush(CachePage &page); 00106 00114 virtual void notifyAfterPageFlush(CachePage &page); 00115 00131 virtual MappedPageListener *notifyAfterPageCheckpointFlush(CachePage &page); 00132 00139 virtual MappedPageListener *getTracingListener() = 0; 00140 }; 00141 00142 FENNEL_END_NAMESPACE 00143 00144 #endif 00145 00146