[][src]Trait sp_database::Database

pub trait Database<H: Clone>: Send + Sync {
    pub fn get(&self, col: ColumnId, key: &[u8]) -> Option<Vec<u8>>;
pub fn lookup(&self, hash: &H) -> Option<Vec<u8>>; pub fn commit(&self, transaction: Transaction<H>) -> Result<()> { ... }
pub fn commit_ref<'a>(
        &self,
        transaction: &mut dyn Iterator<Item = ChangeRef<'a, H>>
    ) -> Result<()> { ... }
pub fn with_get(&self, col: ColumnId, key: &[u8], f: &mut dyn FnMut(&[u8])) { ... }
pub fn set(&self, col: ColumnId, key: &[u8], value: &[u8]) -> Result<()> { ... }
pub fn remove(&self, col: ColumnId, key: &[u8]) -> Result<()> { ... }
pub fn with_lookup(&self, hash: &H, f: &mut dyn FnMut(&[u8])) { ... }
pub fn store(&self, hash: &H, preimage: &[u8]) -> Result<()> { ... }
pub fn release(&self, hash: &H) -> Result<()> { ... } }

Required methods

pub fn get(&self, col: ColumnId, key: &[u8]) -> Option<Vec<u8>>[src]

Retrieve the value previously stored against key or None if key is not currently in the database.

pub fn lookup(&self, hash: &H) -> Option<Vec<u8>>[src]

Retrieve the first preimage previously stored for hash or None if no preimage is currently stored.

Loading content...

Provided methods

pub fn commit(&self, transaction: Transaction<H>) -> Result<()>[src]

Commit the transaction to the database atomically. Any further calls to get or lookup will reflect the new state.

pub fn commit_ref<'a>(
    &self,
    transaction: &mut dyn Iterator<Item = ChangeRef<'a, H>>
) -> Result<()>
[src]

Commit the transaction to the database atomically. Any further calls to get or lookup will reflect the new state.

pub fn with_get(&self, col: ColumnId, key: &[u8], f: &mut dyn FnMut(&[u8]))[src]

Call f with the value previously stored against key.

This may be faster than get since it doesn't allocate. Use with_get helper function if you need f to return a value from f

pub fn set(&self, col: ColumnId, key: &[u8], value: &[u8]) -> Result<()>[src]

Set the value of key in col to value, replacing anything that is there currently.

pub fn remove(&self, col: ColumnId, key: &[u8]) -> Result<()>[src]

Remove the value of key in col.

pub fn with_lookup(&self, hash: &H, f: &mut dyn FnMut(&[u8]))[src]

Call f with the preimage stored for hash and return the result, or None if no preimage is currently stored.

This may be faster than lookup since it doesn't allocate. Use with_lookup helper function if you need f to return a value from f

pub fn store(&self, hash: &H, preimage: &[u8]) -> Result<()>[src]

Store the preimage of hash into the database, so that it may be looked up later with Database::lookup. This may be called multiple times, but Database::lookup but subsequent calls will ignore preimage and simply increase the number of references on hash.

pub fn release(&self, hash: &H) -> Result<()>[src]

Release the preimage of hash from the database. An equal number of these to the number of corresponding stores must have been given before it is legal for Database::lookup to be unable to provide the preimage.

Loading content...

Trait Implementations

impl<H> Debug for dyn Database<H>[src]

Implementors

impl<H> Database<H> for MemDb<H> where
    H: Clone + Send + Sync + Eq + PartialEq + Default + Hash
[src]

Loading content...