|
|
|
class TCachePagePool : public MPagePool;
Provides a page pool with cached pages.
It is an intermediary class, used in the definition of page pools that use a cache, such as RFilePagePool and RStorePagePool.
MPagePool -
Interface to a page pool, the storage abstraction used by the B-trees API.
TCachePagePool -
Provides a page pool with cached pages.
Defined in TCachePagePool:
AcquireL()Returns a function that abandons all locked pages for this page pool.AllocL()Allocates an unassigned page.AssignL(const TAny *,TPageReclamation)Assigns a reference to a new page and unlocks it.DoDeleteL(TPageRef)ExtendL(const TAny *,TPageReclamation)Flush()Flush all pages in this pool from the cache.FlushL()Flushes all pages in this pool from the cache, leaving with a system-wide error ...LockL(TPageRef)Locks a page and returns a pointer to it.Purge()Purge all pages in this pool from the cache.ReadL(TPageRef,TAny *)Set(CPageCache &)Sets the page cache for the pool.TCachePagePool()TCachePagePool(CPageCache &)Unlock(const TAny *,TPageChange)Unlocks a page.UpdateL(const TAny *)Updates a page.WriteL(TPageRef,const TAny *,TPageChange)Inherited from MPagePool:
Delete(TPageRef)Deletes a page, ignoring any errors.DeleteL(TPageRef)Deletes a page, leaving if an error occurs.Pop()Do a pop from the cleanup stack. PushL()Pushes this object onto the cleanup stack. inline void Set(CPageCache &aCache);
Sets the page cache for the pool.
|
IMPORT_C virtual TPageAbandonFunction AcquireL();
Returns a function that abandons all locked pages for this page pool.
|
IMPORT_C virtual TAny* AllocL();
Allocates an unassigned page.
|
IMPORT_C virtual TAny* LockL(TPageRef aRef);
Locks a page and returns a pointer to it.
|
|
IMPORT_C virtual TPageRef AssignL(const TAny *aPage, TPageReclamation aReclamation=EPageDeleteOnly);
Assigns a reference to a new page and unlocks it.
|
|
IMPORT_C virtual void UpdateL(const TAny *aPage);
Updates a page.
|
IMPORT_C virtual void Unlock(const TAny *aPage, TPageChange aChange=EPageNoChange);
Unlocks a page.
|
IMPORT_C TInt Flush();
Flush all pages in this pool from the cache.
It ensures that any dirty pages are written into persistent storage, but does not remove them from the cache.
|
IMPORT_C void FlushL();
Flushes all pages in this pool from the cache, leaving with a system-wide error code if an error occurs.
IMPORT_C void Purge();
Purge all pages in this pool from the cache.
This discards all pages from the cache, without saving dirty pages.
private: virtual TPageRef ExtendL(const TAny *aPage, TPageReclamation aReclamation)=0;
|
|