Kagome
Polkadot Runtime Engine in C++17
kagome::storage::trie::EphemeralTrieBatchImpl Class Referencefinal

#include <ephemeral_trie_batch_impl.hpp>

Inheritance diagram for kagome::storage::trie::EphemeralTrieBatchImpl:
Collaboration diagram for kagome::storage::trie::EphemeralTrieBatchImpl:

Public Member Functions

 EphemeralTrieBatchImpl (std::shared_ptr< Codec > codec, std::shared_ptr< PolkadotTrie > trie)
 
 ~EphemeralTrieBatchImpl () override=default
 
outcome::result< BufferConstRefget (const BufferView &key) const override
 Get value by key. More...
 
outcome::result< std::optional< BufferConstRef > > tryGet (const BufferView &key) const override
 Get value by key. More...
 
std::unique_ptr< PolkadotTrieCursortrieCursor () override
 
outcome::result< bool > contains (const BufferView &key) const override
 Checks if given key-value binding exists in the storage. More...
 
bool empty () const override
 Returns true if the storage is empty. More...
 
outcome::result< std::tuple< bool, uint32_t > > clearPrefix (const BufferView &prefix, std::optional< uint64_t > limit=std::nullopt) override
 
outcome::result< void > put (const BufferView &key, const Buffer &value) override
 Store value by key. More...
 
outcome::result< void > put (const BufferView &key, Buffer &&value) override
 
outcome::result< void > remove (const BufferView &key) override
 Remove value by key. More...
 
outcome::result< RootHashhash () override
 
- Public Member Functions inherited from kagome::storage::trie::TrieBatch
 ~TrieBatch () override=default
 
std::unique_ptr< Cursorcursor () final
 Returns new key-value iterator. More...
 
- Public Member Functions inherited from kagome::storage::face::ReadableMap< BufferView, Buffer >
virtual ~ReadableMap ()=default
 
- Public Member Functions inherited from kagome::storage::face::ReadableBase< BufferView >
virtual ~ReadableBase ()=default
 
- Public Member Functions inherited from kagome::storage::face::Writeable< BufferView, Buffer >
virtual ~Writeable ()=default
 
- Public Member Functions inherited from kagome::storage::face::Iterable< Buffer, common::BufferConstRef, BufferView >
virtual ~Iterable ()=default
 

Private Attributes

std::shared_ptr< Codeccodec_
 
std::shared_ptr< PolkadotTrietrie_
 

Additional Inherited Members

- Public Types inherited from kagome::storage::trie::TrieBatch
using Cursor = face::Iterable< Buffer, common::BufferConstRef, BufferView >::Cursor
 
- Public Types inherited from kagome::storage::face::ReadableMap< BufferView, Buffer >
using Key = BufferView
 
using Value = Buffer
 
using ValueView = std::reference_wrapper< Buffer >
 
using ConstValueView = std::reference_wrapper< const Buffer >
 
- Public Types inherited from kagome::storage::face::ReadableBase< BufferView >
using Key = BufferView
 
- Public Types inherited from kagome::storage::face::Iterable< Buffer, common::BufferConstRef, BufferView >
using Cursor = MapCursor< Buffer, common::BufferConstRef, BufferView >
 

Detailed Description

Definition at line 15 of file ephemeral_trie_batch_impl.hpp.

Constructor & Destructor Documentation

kagome::storage::trie::EphemeralTrieBatchImpl::EphemeralTrieBatchImpl ( std::shared_ptr< Codec codec,
std::shared_ptr< PolkadotTrie trie 
)

Definition at line 12 of file ephemeral_trie_batch_impl.cpp.

kagome::storage::trie::EphemeralTrieBatchImpl::~EphemeralTrieBatchImpl ( )
overridedefault

Member Function Documentation

outcome::result< std::tuple< bool, uint32_t > > kagome::storage::trie::EphemeralTrieBatchImpl::clearPrefix ( const BufferView prefix,
std::optional< uint64_t >  limit = std::nullopt 
)
overridevirtual

Remove all trie entries which key begins with the supplied prefix

Implements kagome::storage::trie::TrieBatch.

Definition at line 43 of file ephemeral_trie_batch_impl.cpp.

outcome::result< bool > kagome::storage::trie::EphemeralTrieBatchImpl::contains ( const BufferView key) const
overridevirtual

Checks if given key-value binding exists in the storage.

Parameters
keyK
Returns
true if key has value, false if does not, or error at .

Implements kagome::storage::face::ReadableBase< BufferView >.

Definition at line 33 of file ephemeral_trie_batch_impl.cpp.

bool kagome::storage::trie::EphemeralTrieBatchImpl::empty ( ) const
overridevirtual

Returns true if the storage is empty.

Implements kagome::storage::face::ReadableBase< BufferView >.

Definition at line 38 of file ephemeral_trie_batch_impl.cpp.

outcome::result< BufferConstRef > kagome::storage::trie::EphemeralTrieBatchImpl::get ( const BufferView key) const
overridevirtual

Get value by key.

Parameters
keyK
Returns
V

Implements kagome::storage::face::ReadableMap< BufferView, Buffer >.

Definition at line 19 of file ephemeral_trie_batch_impl.cpp.

outcome::result< RootHash > kagome::storage::trie::EphemeralTrieBatchImpl::hash ( )
overridevirtual

Calculates the hash of the state represented by a batch

Implements kagome::storage::trie::EphemeralTrieBatch.

Definition at line 64 of file ephemeral_trie_batch_impl.cpp.

outcome::result< void > kagome::storage::trie::EphemeralTrieBatchImpl::put ( const BufferView key,
const Buffer value 
)
overridevirtual

Store value by key.

Parameters
keykey
valuevalue
Returns
result containing void if put successful, error otherwise

Implements kagome::storage::face::Writeable< BufferView, Buffer >.

Definition at line 50 of file ephemeral_trie_batch_impl.cpp.

outcome::result< void > kagome::storage::trie::EphemeralTrieBatchImpl::put ( const BufferView key,
Buffer &&  value 
)
overridevirtual
outcome::result< void > kagome::storage::trie::EphemeralTrieBatchImpl::remove ( const BufferView key)
overridevirtual

Remove value by key.

Parameters
keyK
Returns
error code if error happened

Implements kagome::storage::face::Writeable< BufferView, Buffer >.

Definition at line 60 of file ephemeral_trie_batch_impl.cpp.

std::unique_ptr< PolkadotTrieCursor > kagome::storage::trie::EphemeralTrieBatchImpl::trieCursor ( )
overridevirtual

Implements kagome::storage::trie::TrieBatch.

Definition at line 29 of file ephemeral_trie_batch_impl.cpp.

outcome::result< std::optional< BufferConstRef > > kagome::storage::trie::EphemeralTrieBatchImpl::tryGet ( const BufferView key) const
overridevirtual

Get value by key.

Parameters
keyK
Returns
V if contains(K) or std::nullopt

Implements kagome::storage::face::ReadableMap< BufferView, Buffer >.

Definition at line 24 of file ephemeral_trie_batch_impl.cpp.

Member Data Documentation

std::shared_ptr<Codec> kagome::storage::trie::EphemeralTrieBatchImpl::codec_
private

Definition at line 37 of file ephemeral_trie_batch_impl.hpp.

std::shared_ptr<PolkadotTrie> kagome::storage::trie::EphemeralTrieBatchImpl::trie_
private

Definition at line 38 of file ephemeral_trie_batch_impl.hpp.


The documentation for this class was generated from the following files: