Struct rsdb::PageCache
[−]
[src]
pub struct PageCache<L: Log, PM> where
PM: Materializer + Sized,
L: Log + Sized, { /* fields omitted */ }
Methods
impl<PM> PageCache<LockFreeLog, PM> where
PM: Materializer,
PM::PartialPage: Clone,
[src]
PM: Materializer,
PM::PartialPage: Clone,
fn new(pm: PM, path: Option<String>) -> PageCache<LockFreeLog, PM>
fn recover(&mut self, from: u64) -> Option<PM::Recovery>
Read updates from the log, apply them to our pagecache.
fn allocate(&self) -> (usize, *const Node<*const PM::PartialPage>)
fn free(&self, pid: usize)
fn get(
&self,
pid: usize
) -> Option<(PM::MaterializedPage, *const Node<*const PM::PartialPage>)>
&self,
pid: usize
) -> Option<(PM::MaterializedPage, *const Node<*const PM::PartialPage>)>
fn append(
&self,
pid: usize,
old: *const Node<*const PM::PartialPage>,
new: PM::PartialPage
) -> Result<*const Node<*const PM::PartialPage>, *const Node<*const PM::PartialPage>>
&self,
pid: usize,
old: *const Node<*const PM::PartialPage>,
new: PM::PartialPage
) -> Result<*const Node<*const PM::PartialPage>, *const Node<*const PM::PartialPage>>