Struct rsdb::LockFreeLog
[−]
[src]
pub struct LockFreeLog { /* fields omitted */ }
LockFreeLog
is responsible for putting data on disk, and retrieving
it later on.
Methods
impl LockFreeLog
[src]
fn start_system(path: Option<String>) -> LockFreeLog
create new lock-free log
Trait Implementations
impl Send for LockFreeLog
[src]
impl Sync for LockFreeLog
[src]
impl Log for LockFreeLog
[src]
fn reserve(&self, buf: Vec<u8>) -> Reservation
claim a spot on disk, which can later be filled or aborted
fn write(&self, buf: Vec<u8>) -> u64
write a buffer to disk
fn read(&self, id: u64) -> Result<Option<Vec<u8>>>
read a buffer from the disk
fn stable_offset(&self) -> u64
returns the current stable offset written to disk
fn make_stable(&self, id: u64)
blocks until the specified id has been made stable on disk
fn punch_hole(&self, id: u64)
deallocates the data part of a log id
fn iter_from(&self, id: u64) -> LogIter<Self> where
Self: Sized,
Self: Sized,