[][src]Trait sc_service::config::Database

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

Required methods

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

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

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

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

Loading content...

Provided methods

fn commit(&self, transaction: Transaction<H>)

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

fn commit_ref(&self, transaction: &mut dyn Iterator<Item = ChangeRef<'a, H>>)

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

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

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

fn set(&self, col: u32, key: &[u8], value: &[u8])

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

fn remove(&self, col: u32, key: &[u8])

Remove the value of key in col.

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

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

fn store(&self, hash: &H, preimage: &[u8])

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.

fn release(&self, hash: &H)

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...

Implementations on Foreign Types

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

Loading content...

Implementors

Loading content...