|
||
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;
|
|