Struct rsdb::PageCache [] [src]

pub struct PageCache<L: Log, M> where
    M: Materializer + Sized,
    L: Log + Sized
{ /* fields omitted */ }

A lock-free pagecache.

Methods

impl<M> PageCache<LockFreeLog, M> where
    M: Materializer,
    M::PartialPage: Clone
[src]

Instantiate a new PageCache.

Return the configuration used by the underlying system.

Read updates from the log, apply them to our pagecache.

Create a new page, trying to reuse old freed pages if possible to maximize underlying Radix pointer density.

Free a particular page.

Try to retrieve a page by its logical ID.

Try to atomically append a Materializer::PartialPage to the page.

Trait Implementations

impl<L: Log, M: Materializer> Send for PageCache<L, M>
[src]

impl<L: Log, M: Materializer> Sync for PageCache<L, M>
[src]

impl<L: Log, M: Materializer> Debug for PageCache<L, M>
[src]

Formats the value using the given formatter.