| 
    Kagome
    
   Polkadot Runtime Engine in C++17 
   | 
 
#include <persistent_trie_batch_impl.hpp>
Public Types | |
| enum | Error { Error::NO_TRIE = 1 } | 
  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 > | 
Public Member Functions | |
| ~PersistentTrieBatchImpl () override=default | |
| outcome::result< RootHash > | commit () override | 
| std::unique_ptr< TopperTrieBatch > | batchOnTop () override | 
| outcome::result< BufferConstRef > | get (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< PolkadotTrieCursor > | trieCursor () 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... | |
  Public Member Functions inherited from kagome::storage::trie::TrieBatch | |
| ~TrieBatch () override=default | |
| std::unique_ptr< Cursor > | cursor () 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 | 
Static Public Member Functions | |
| static std::unique_ptr< PersistentTrieBatchImpl > | create (std::shared_ptr< Codec > codec, std::shared_ptr< TrieSerializer > serializer, std::optional< std::shared_ptr< changes_trie::ChangesTracker >> changes, std::shared_ptr< PolkadotTrie > trie) | 
Private Member Functions | |
| PersistentTrieBatchImpl (std::shared_ptr< Codec > codec, std::shared_ptr< TrieSerializer > serializer, std::optional< std::shared_ptr< changes_trie::ChangesTracker >> changes, std::shared_ptr< PolkadotTrie > trie) | |
Private Attributes | |
| std::shared_ptr< Codec > | codec_ | 
| std::shared_ptr< TrieSerializer > | serializer_ | 
| std::optional< std::shared_ptr< changes_trie::ChangesTracker > > | changes_ | 
| std::shared_ptr< PolkadotTrie > | trie_ | 
| log::Logger | logger_ = log::createLogger("PersistentTrieBatch", "storage") | 
Definition at line 20 of file persistent_trie_batch_impl.hpp.
| Enumerator | |
|---|---|
| NO_TRIE | |
Definition at line 22 of file persistent_trie_batch_impl.hpp.
      
  | 
  overridedefault | 
      
  | 
  private | 
Definition at line 39 of file persistent_trie_batch_impl.cpp.
      
  | 
  overridevirtual | 
Creates a batch on top of this batch
Implements kagome::storage::trie::PersistentTrieBatch.
Definition at line 61 of file persistent_trie_batch_impl.cpp.
      
  | 
  overridevirtual | 
Remove all trie entries which key begins with the supplied prefix
Implements kagome::storage::trie::TrieBatch.
Definition at line 89 of file persistent_trie_batch_impl.cpp.
      
  | 
  overridevirtual | 
Commits changes to a persistent storage
Implements kagome::storage::trie::PersistentTrieBatch.
Definition at line 55 of file persistent_trie_batch_impl.cpp.
      
  | 
  overridevirtual | 
Checks if given key-value binding exists in the storage.
| key | K | 
Implements kagome::storage::face::ReadableBase< BufferView >.
Definition at line 79 of file persistent_trie_batch_impl.cpp.
      
  | 
  static | 
Definition at line 26 of file persistent_trie_batch_impl.cpp.
      
  | 
  overridevirtual | 
Returns true if the storage is empty.
Implements kagome::storage::face::ReadableBase< BufferView >.
Definition at line 84 of file persistent_trie_batch_impl.cpp.
      
  | 
  overridevirtual | 
Get value by key.
| key | K | 
Implements kagome::storage::face::ReadableMap< BufferView, Buffer >.
Definition at line 65 of file persistent_trie_batch_impl.cpp.
      
  | 
  overridevirtual | 
Store value by key.
| key | key | 
| value | value | 
Implements kagome::storage::face::Writeable< BufferView, Buffer >.
Definition at line 101 of file persistent_trie_batch_impl.cpp.
      
  | 
  overridevirtual | 
Implements kagome::storage::face::Writeable< BufferView, Buffer >.
Definition at line 114 of file persistent_trie_batch_impl.cpp.
      
  | 
  overridevirtual | 
Remove value by key.
| key | K | 
Implements kagome::storage::face::Writeable< BufferView, Buffer >.
Definition at line 120 of file persistent_trie_batch_impl.cpp.
      
  | 
  overridevirtual | 
Implements kagome::storage::trie::TrieBatch.
Definition at line 75 of file persistent_trie_batch_impl.cpp.
      
  | 
  overridevirtual | 
Get value by key.
| key | K | 
Implements kagome::storage::face::ReadableMap< BufferView, Buffer >.
Definition at line 71 of file persistent_trie_batch_impl.cpp.
      
  | 
  private | 
Definition at line 59 of file persistent_trie_batch_impl.hpp.
      
  | 
  private | 
Definition at line 57 of file persistent_trie_batch_impl.hpp.
      
  | 
  private | 
Definition at line 62 of file persistent_trie_batch_impl.hpp.
      
  | 
  private | 
Definition at line 58 of file persistent_trie_batch_impl.hpp.
      
  | 
  private | 
Definition at line 60 of file persistent_trie_batch_impl.hpp.