[][src]Trait hammersbald::HammersbaldAPI

pub trait HammersbaldAPI: Send + Sync {
    fn batch(&mut self) -> Result<(), HammersbaldError>;
fn shutdown(&mut self);
fn put_keyed(
        &mut self,
        key: &[u8],
        data: &[u8]
    ) -> Result<PRef, HammersbaldError>;
fn get_keyed(
        &self,
        key: &[u8]
    ) -> Result<Option<(PRef, Vec<u8>)>, HammersbaldError>;
fn put(&mut self, data: &[u8]) -> Result<PRef, HammersbaldError>;
fn get(&self, pref: PRef) -> Result<(Vec<u8>, Vec<u8>), HammersbaldError>;
fn may_have_key(&self, key: &[u8]) -> Result<bool, HammersbaldError>;
fn forget(&mut self, key: &[u8]) -> Result<(), HammersbaldError>;
fn iter(&self) -> HammersbaldIterator; }

public API to Hammersbald

Required methods

fn batch(&mut self) -> Result<(), HammersbaldError>

end current batch and start a new batch

fn shutdown(&mut self)

stop background writer

fn put_keyed(
    &mut self,
    key: &[u8],
    data: &[u8]
) -> Result<PRef, HammersbaldError>

store data accessible with key returns a persistent reference to stored data

fn get_keyed(
    &self,
    key: &[u8]
) -> Result<Option<(PRef, Vec<u8>)>, HammersbaldError>

retrieve data with key returns Some(persistent reference, data) or None

fn put(&mut self, data: &[u8]) -> Result<PRef, HammersbaldError>

store data returns a persistent reference

fn get(&self, pref: PRef) -> Result<(Vec<u8>, Vec<u8>), HammersbaldError>

retrieve data using a persistent reference returns (key, data)

fn may_have_key(&self, key: &[u8]) -> Result<bool, HammersbaldError>

a quick (in-memory) check if the db may have the key this might return false positive, but if it is false key is definitely not used.

fn forget(&mut self, key: &[u8]) -> Result<(), HammersbaldError>

forget a key (if known) This is not a real delete as data will be still accessible through its PRef, but contains hash table growth

Important traits for HammersbaldIterator<'a>
fn iter(&self) -> HammersbaldIterator

iterator of data

Loading content...

Implementors

Loading content...