Struct casper_execution_engine::storage::global_state::lmdb::LmdbGlobalState
source · pub struct LmdbGlobalState { /* private fields */ }
Expand description
Global state implemented against LMDB as a backing data store.
Implementations§
source§impl LmdbGlobalState
impl LmdbGlobalState
sourcepub fn empty(
environment: Arc<LmdbEnvironment>,
trie_store: Arc<LmdbTrieStore>
) -> Result<Self, Error>
pub fn empty( environment: Arc<LmdbEnvironment>, trie_store: Arc<LmdbTrieStore> ) -> Result<Self, Error>
Creates an empty state from an existing environment and trie_store.
sourcepub fn new(
environment: Arc<LmdbEnvironment>,
trie_store: Arc<LmdbTrieStore>,
empty_root_hash: Digest
) -> Self
pub fn new( environment: Arc<LmdbEnvironment>, trie_store: Arc<LmdbTrieStore>, empty_root_hash: Digest ) -> Self
Creates a state from an existing environment, store, and root_hash. Intended to be used for testing.
sourcepub fn create_scratch(&self) -> ScratchGlobalState
pub fn create_scratch(&self) -> ScratchGlobalState
Creates an in-memory cache for changes written.
sourcepub fn put_stored_values(
&self,
correlation_id: CorrelationId,
prestate_hash: Digest,
stored_values: HashMap<Key, StoredValue>
) -> Result<Digest, Error>
pub fn put_stored_values( &self, correlation_id: CorrelationId, prestate_hash: Digest, stored_values: HashMap<Key, StoredValue> ) -> Result<Digest, Error>
Write stored values to LMDB.
sourcepub fn environment(&self) -> &LmdbEnvironment
pub fn environment(&self) -> &LmdbEnvironment
Get a reference to the lmdb global state’s environment.
sourcepub fn trie_store(&self) -> &LmdbTrieStore
pub fn trie_store(&self) -> &LmdbTrieStore
Get a reference to the lmdb global state’s trie store.
sourcepub fn empty_state_root_hash(&self) -> Digest
pub fn empty_state_root_hash(&self) -> Digest
Returns an initial, empty root hash of the underlying trie.
Trait Implementations§
source§impl CommitProvider for LmdbGlobalState
impl CommitProvider for LmdbGlobalState
source§impl StateProvider for LmdbGlobalState
impl StateProvider for LmdbGlobalState
source§fn missing_children(
&self,
correlation_id: CorrelationId,
trie_raw: &[u8]
) -> Result<Vec<Digest>, Self::Error>
fn missing_children( &self, correlation_id: CorrelationId, trie_raw: &[u8] ) -> Result<Vec<Digest>, Self::Error>
Finds all of the keys of missing directly descendant Trie<K,V>
values.
source§fn delete_keys(
&self,
correlation_id: CorrelationId,
state_root_hash: Digest,
keys: &[Key]
) -> Result<DeleteResult, Self::Error>
fn delete_keys( &self, correlation_id: CorrelationId, state_root_hash: Digest, keys: &[Key] ) -> Result<DeleteResult, Self::Error>
Delete keys.
§type Reader = LmdbGlobalStateView
type Reader = LmdbGlobalStateView
Associated reader type for
StateProvider
.source§fn checkout(
&self,
state_hash: Digest
) -> Result<Option<Self::Reader>, Self::Error>
fn checkout( &self, state_hash: Digest ) -> Result<Option<Self::Reader>, Self::Error>
Checkouts to the post state of a specific block.
source§fn empty_root(&self) -> Digest
fn empty_root(&self) -> Digest
Returns an empty root hash.
source§fn get_trie_full(
&self,
_correlation_id: CorrelationId,
trie_key: &Digest
) -> Result<Option<TrieRaw>, Self::Error>
fn get_trie_full( &self, _correlation_id: CorrelationId, trie_key: &Digest ) -> Result<Option<TrieRaw>, Self::Error>
Reads a full
Trie
(never chunked) from the state if it is presentAuto Trait Implementations§
impl RefUnwindSafe for LmdbGlobalState
impl Send for LmdbGlobalState
impl Sync for LmdbGlobalState
impl Unpin for LmdbGlobalState
impl UnwindSafe for LmdbGlobalState
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.