sgns::storage::trie::TrieStorageImpl¶
#include <trie_storage_impl.hpp>
Inherits from sgns::storage::trie::TrieStorage, IComponent
Public Functions¶
| Name | |
|---|---|
| outcome::result< std::unique_ptr< TrieStorageImpl > > | createEmpty(const std::shared_ptr< SuperGeniusTrieFactory > & trie_factory, std::shared_ptr< Codec > codec, std::shared_ptr< TrieSerializer > serializer, boost::optional< std::shared_ptr< changes_trie::ChangesTracker > > changes) |
| outcome::result< std::unique_ptr< TrieStorageImpl > > | createFromStorage(const base::Buffer & root_hash, std::shared_ptr< Codec > codec, std::shared_ptr< TrieSerializer > serializer, boost::optional< std::shared_ptr< changes_trie::ChangesTracker > > changes) |
| TrieStorageImpl(TrieStorageImpl const & ) =delete | |
| void | operator=(const TrieStorageImpl & ) =delete |
| TrieStorageImpl(TrieStorageImpl && ) =default | |
| TrieStorageImpl & | operator=(TrieStorageImpl && ) =default |
| ~TrieStorageImpl() override =default | |
| virtual outcome::result< std::unique_ptr< PersistentTrieBatch > > | getPersistentBatch() override |
| virtual outcome::result< std::unique_ptr< EphemeralTrieBatch > > | getEphemeralBatch() const override |
| virtual outcome::result< std::unique_ptr< PersistentTrieBatch > > | getPersistentBatchAt(const base::Hash256 & root) override |
| virtual outcome::result< std::unique_ptr< EphemeralTrieBatch > > | getEphemeralBatchAt(const base::Hash256 & root) const override |
| virtual base::Buffer | getRootHash() const override |
| virtual std::string | GetName() override |
Protected Functions¶
| Name | |
|---|---|
| TrieStorageImpl(base::Buffer root_hash, std::shared_ptr< Codec > codec, std::shared_ptr< TrieSerializer > serializer, boost::optional< std::shared_ptr< changes_trie::ChangesTracker > > changes) |
Additional inherited members¶
Public Functions inherited from sgns::storage::trie::TrieStorage
| Name | |
|---|---|
| ~TrieStorage() override =default |
Public Functions inherited from IComponent
| Name | |
|---|---|
| virtual | ~IComponent() =default |
Public Functions Documentation¶
function createEmpty¶
static outcome::result< std::unique_ptr< TrieStorageImpl > > createEmpty(
const std::shared_ptr< SuperGeniusTrieFactory > & trie_factory,
std::shared_ptr< Codec > codec,
std::shared_ptr< TrieSerializer > serializer,
boost::optional< std::shared_ptr< changes_trie::ChangesTracker > > changes
)
function createFromStorage¶
static outcome::result< std::unique_ptr< TrieStorageImpl > > createFromStorage(
const base::Buffer & root_hash,
std::shared_ptr< Codec > codec,
std::shared_ptr< TrieSerializer > serializer,
boost::optional< std::shared_ptr< changes_trie::ChangesTracker > > changes
)
function TrieStorageImpl¶
function operator=¶
function TrieStorageImpl¶
function operator=¶
function ~TrieStorageImpl¶
function getPersistentBatch¶
Reimplements: sgns::storage::trie::TrieStorage::getPersistentBatch
function getEphemeralBatch¶
Reimplements: sgns::storage::trie::TrieStorage::getEphemeralBatch
function getPersistentBatchAt¶
virtual outcome::result< std::unique_ptr< PersistentTrieBatch > > getPersistentBatchAt(
const base::Hash256 & root
) override
Warning: if the batch is committed, the trie will still switch to its state, creating a 'fork'
Reimplements: sgns::storage::trie::TrieStorage::getPersistentBatchAt
Initializes a batch at the provided state
function getEphemeralBatchAt¶
virtual outcome::result< std::unique_ptr< EphemeralTrieBatch > > getEphemeralBatchAt(
const base::Hash256 & root
) const override
Reimplements: sgns::storage::trie::TrieStorage::getEphemeralBatchAt
function getRootHash¶
Reimplements: sgns::storage::trie::TrieStorage::getRootHash
Root hash of the latest committed trie
function GetName¶
Reimplements: IComponent::GetName
Protected Functions Documentation¶
function TrieStorageImpl¶
TrieStorageImpl(
base::Buffer root_hash,
std::shared_ptr< Codec > codec,
std::shared_ptr< TrieSerializer > serializer,
boost::optional< std::shared_ptr< changes_trie::ChangesTracker > > changes
)
Updated on 2026-03-04 at 13:10:44 -0800