[][src]Struct sc_state_db::StateDb

pub struct StateDb<BlockHash: Hash, Key: Hash> { /* fields omitted */ }

State DB maintenance. See module description. Can be shared across threads.


impl<BlockHash: Hash + MallocSizeOf, Key: Hash + MallocSizeOf> StateDb<BlockHash, Key>[src]

pub fn new<D: MetaDb>(
    mode: PruningMode,
    ref_counting: bool,
    db: &D
) -> Result<StateDb<BlockHash, Key>, Error<D::Error>>

Creates a new instance. Does not expect any metadata in the database.

pub fn insert_block<E: Debug>(
    hash: &BlockHash,
    number: u64,
    parent_hash: &BlockHash,
    changeset: ChangeSet<Key>
) -> Result<CommitSet<Key>, Error<E>>

Add a new non-canonical block.

pub fn canonicalize_block<E: Debug>(
    hash: &BlockHash
) -> Result<CommitSet<Key>, Error<E>>

Finalize a previously inserted block.

pub fn pin(&self, hash: &BlockHash) -> Result<(), PinError>[src]

Prevents pruning of specified block and its descendants.

pub fn unpin(&self, hash: &BlockHash)[src]

Allows pruning of specified block.

pub fn get<D: NodeDb, Q: ?Sized>(
    key: &Q,
    db: &D
) -> Result<Option<DBValue>, Error<D::Error>> where
    Q: AsRef<D::Key>,
    Key: Borrow<Q>,
    Q: Hash + Eq

Get a value from non-canonical/pruning overlay or the backing DB.

pub fn revert_one(&self) -> Option<CommitSet<Key>>[src]

Revert all non-canonical blocks with the best block number. Returns a database commit or None if not possible. For archive an empty commit set is returned.

pub fn best_canonical(&self) -> Option<u64>[src]

Returns last finalized block number.

pub fn is_pruned(&self, hash: &BlockHash, number: u64) -> bool[src]

Check if block is pruned away.

pub fn apply_pending(&self)[src]

Apply all pending changes

pub fn revert_pending(&self)[src]

Revert all pending changes

pub fn memory_info(&self) -> StateDbMemoryInfo[src]

Returns the current memory statistics of this instance.

Auto Trait Implementations

impl<BlockHash, Key> !RefUnwindSafe for StateDb<BlockHash, Key>

impl<BlockHash, Key> Send for StateDb<BlockHash, Key>

impl<BlockHash, Key> Sync for StateDb<BlockHash, Key>

impl<BlockHash, Key> Unpin for StateDb<BlockHash, Key> where
    BlockHash: Unpin,
    Key: Unpin

impl<BlockHash, Key> UnwindSafe for StateDb<BlockHash, Key> where
    BlockHash: UnwindSafe,
    Key: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> CheckedConversion for T[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T, Outer> IsWrappedBy<Outer> for T where
    Outer: AsRef<T> + AsMut<T> + From<T>,
    T: From<Outer>, 

fn from_ref(outer: &Outer) -> &T[src]

Get a reference to the inner from the outer.

fn from_mut(outer: &mut Outer) -> &mut T[src]

Get a mutable reference to the inner from the outer.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> SaturatedConversion for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 

impl<T, S> UniqueSaturatedInto<T> for S where
    S: TryInto<T>,
    T: Bounded

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,