|
Kagome
Polkadot Runtime Engine in C++17
|
#include <topper_trie_batch_impl.hpp>
Public Types | |
| enum | Error { Error::PARENT_EXPIRED = 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 | |
| TopperTrieBatchImpl (const std::shared_ptr< TrieBatch > &parent) | |
| outcome::result< common::BufferConstRef > | get (const BufferView &key) const override |
| Get value by key. More... | |
| outcome::result< std::optional< common::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< 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< std::tuple< bool, uint32_t > > | clearPrefix (const BufferView &prefix, std::optional< uint64_t > limit) override |
| outcome::result< void > | writeBack () override |
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 |
Private Member Functions | |
| bool | wasClearedByPrefix (const BufferView &key) const |
Private Attributes | |
| std::map< Buffer, std::optional< Buffer >, std::less<> > | cache_ |
| std::deque< Buffer > | cleared_prefixes_ |
| std::weak_ptr< TrieBatch > | parent_ |
Definition at line 21 of file topper_trie_batch_impl.hpp.
| Enumerator | |
|---|---|
| PARENT_EXPIRED | |
Definition at line 23 of file topper_trie_batch_impl.hpp.
|
explicit |
Definition at line 27 of file topper_trie_batch_impl.cpp.
|
overridevirtual |
Remove all trie entries which key begins with the supplied prefix
Implements kagome::storage::trie::TrieBatch.
Definition at line 110 of file topper_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 64 of file topper_trie_batch_impl.cpp.
|
overridevirtual |
Returns true if the storage is empty.
Implements kagome::storage::face::ReadableBase< BufferView >.
Definition at line 78 of file topper_trie_batch_impl.cpp.
|
overridevirtual |
Get value by key.
| key | K |
Implements kagome::storage::face::ReadableMap< BufferView, Buffer >.
Definition at line 31 of file topper_trie_batch_impl.cpp.
|
overridevirtual |
Store value by key.
| key | key |
| value | value |
Implements kagome::storage::face::Writeable< BufferView, Buffer >.
Definition at line 93 of file topper_trie_batch_impl.cpp.
|
overridevirtual |
Implements kagome::storage::face::Writeable< BufferView, Buffer >.
Definition at line 98 of file topper_trie_batch_impl.cpp.
|
overridevirtual |
Remove value by key.
| key | K |
Implements kagome::storage::face::Writeable< BufferView, Buffer >.
Definition at line 104 of file topper_trie_batch_impl.cpp.
|
overridevirtual |
Won't consider changes not written back to the parent batch
Implements kagome::storage::trie::TrieBatch.
Definition at line 57 of file topper_trie_batch_impl.cpp.
|
overridevirtual |
Get value by key.
| key | K |
Implements kagome::storage::face::ReadableMap< BufferView, Buffer >.
Definition at line 41 of file topper_trie_batch_impl.cpp.
|
private |
Definition at line 141 of file topper_trie_batch_impl.cpp.
|
overridevirtual |
Writes changes to the parent batch
Implements kagome::storage::trie::TopperTrieBatch.
Definition at line 124 of file topper_trie_batch_impl.cpp.
|
private |
Definition at line 51 of file topper_trie_batch_impl.hpp.
|
private |
Definition at line 52 of file topper_trie_batch_impl.hpp.
|
private |
Definition at line 53 of file topper_trie_batch_impl.hpp.