4 #ifndef DYNABUFFERCACHEIMPL_H 5 #define DYNABUFFERCACHEIMPL_H 11 #define MAKE_BUFFERCACHETYPE_INSTANCE(C, T) \ 12 template class DynaBufferCache<C>; \ 13 typedef DynaBufferCache<C> T##BufferCache 28 if (buffer !=
nullptr) {
32 _file->
writePage(page->getPageIndex(), buffer);
46 if (buffer !=
nullptr)
60 if (entry !=
nullptr) {
64 page->setKeyValue(keyValue);
65 page->setBuffer(buffer);
76 if (entry ==
nullptr) {
79 if (entry ==
nullptr) {
81 page->setKeyValue(keyValue);
82 page->setBuffer(buffer);
94 return entry !=
nullptr ? entry->
getObject() :
nullptr;
T * getObject() const
Definition: DynaLinkedListImpl.h:58
T * getPageForRemoval(LinkedEntry< T > *entry) override
Definition: DynaBufferCacheImpl.h:51
void invalidate()
Definition: DynaBuffer.cpp:324
Definition: IDynaCacheListener.h:11
void touchEntry(LinkedEntry< T > *entry)
Definition: DynaCacheImpl.h:153
Definition: DynaLinkedList.h:32
Definition: DynaCache.h:16
virtual void setListener(IDynaCacheListener< T > *listener)
Definition: DynaCacheImpl.h:133
void setListener(IDynaCacheListener< T > *listener) override
Definition: DynaBufferCacheImpl.h:21
void setIsDirty(bool isDirty)
Definition: DynaBuffer.cpp:72
LinkedEntry< T > * findPageEntry(Index keyValue)
Definition: DynaCacheImpl.h:252
Definition: IntWrapper.h:13
void flushAndInvalidate(T *page)
Definition: DynaBufferCacheImpl.h:43
void clear()
Definition: DynaCacheImpl.h:69
Definition: IDynaBufferCacheListener.h:12
DynaBufferCache(PageFile *file)
Definition: DynaBufferCacheImpl.h:16
LinkedEntry< T > * addNewPage(T *page)
Definition: DynaCacheImpl.h:171
T * getNewPage()
Definition: DynaCacheImpl.h:161
T * putPage(Index keyValue, DynaBuffer *buffer)
Definition: DynaBufferCacheImpl.h:92
bool isDirty()
Definition: DynaBuffer.cpp:68
void flushPage(T *page) override
Definition: DynaBufferCacheImpl.h:26
LinkedEntry< T > * useLastPage(Index keyValue, DynaBuffer *buffer)
Definition: DynaBufferCacheImpl.h:58
void writePage(index_t pageIndex, DynaBuffer *buffer, int bufOffset, size_t length)
writes a portion of the passed in buffer to the corresponding location in the page on disk...
Definition: PageFile.cpp:367
Definition: PageFile.h:36
Definition: DynaBuffer.h:20
LinkedEntry< T > * putPageEntry(Index keyValue, DynaBuffer *buffer)
Definition: DynaBufferCacheImpl.h:74