Skip to content

sgns::storage::trie::PersistentTrieBatchImpl

#include <persistent_trie_batch_impl.hpp>

Inherits from sgns::storage::trie::PersistentTrieBatch, sgns::storage::trie::TrieBatch, std::enable_shared_from_this< PersistentTrieBatch >, sgns::storage::face::Readable< Buffer, Buffer >, sgns::storage::face::Writeable< Buffer, Buffer >, sgns::storage::face::Iterable< Buffer, Buffer >

Public Types

Name
using std::function< void(const base::Buffer &)> RootChangedEventHandler

Public Functions

Name
PersistentTrieBatchImpl(std::shared_ptr< Codec > codec, std::shared_ptr< TrieSerializer > serializer, boost::optional< std::shared_ptr< changes_trie::ChangesTracker > > changes, std::unique_ptr< SuperGeniusTrie > trie, RootChangedEventHandler && handler)
~PersistentTrieBatchImpl() override =default
virtual outcome::result< Buffer > commit() override
virtual std::unique_ptr< TopperTrieBatch > batchOnTop() override
virtual outcome::result< Buffer > get(const Buffer & key) const override
Get value by key.
virtual std::unique_ptr< BufferMapCursor > cursor() override
Returns new key-value iterator.
virtual bool contains(const Buffer & key) const override
Returns true if given key-value binding exists in the storage.
virtual bool empty() const override
Returns true if the storage is empty.
virtual outcome::result< void > clearPrefix(const Buffer & prefix) override
virtual outcome::result< void > put(const Buffer & key, const Buffer & value) override
Store value by key.
outcome::result< void > put(const Buffer & key, Buffer && value) override
virtual outcome::result< void > remove(const Buffer & key) override
Remove value by key.

Additional inherited members

Public Functions inherited from sgns::storage::trie::TrieBatch

Name
~TrieBatch() override =default

Public Functions inherited from sgns::storage::face::Readable< Buffer, Buffer >

Name
virtual ~Readable() =default

Public Functions inherited from sgns::storage::face::Writeable< Buffer, Buffer >

Name
virtual ~Writeable() =default

Public Functions inherited from sgns::storage::face::Iterable< Buffer, Buffer >

Name
virtual ~Iterable() =default

Public Types Documentation

using RootChangedEventHandler

using sgns::storage::trie::PersistentTrieBatchImpl::RootChangedEventHandler = std::function<void(const base::Buffer &)>;

Public Functions Documentation

function PersistentTrieBatchImpl

PersistentTrieBatchImpl(
    std::shared_ptr< Codec > codec,
    std::shared_ptr< TrieSerializer > serializer,
    boost::optional< std::shared_ptr< changes_trie::ChangesTracker > > changes,
    std::unique_ptr< SuperGeniusTrie > trie,
    RootChangedEventHandler && handler
)

function ~PersistentTrieBatchImpl

~PersistentTrieBatchImpl() override =default

function commit

virtual outcome::result< Buffer > commit() override

Return: the root of the committed trie

Reimplements: sgns::storage::trie::PersistentTrieBatch::commit

Commits changes to a persistent storage

function batchOnTop

virtual std::unique_ptr< TopperTrieBatch > batchOnTop() override

Reimplements: sgns::storage::trie::PersistentTrieBatch::batchOnTop

Creates a batch on top of this batch

function get

virtual outcome::result< Buffer > get(
    const Buffer & key
) const override

Get value by key.

Parameters:

  • key K

Return: V

Reimplements: sgns::storage::face::Readable::get

function cursor

virtual std::unique_ptr< BufferMapCursor > cursor() override

Returns new key-value iterator.

Return: kv iterator

Reimplements: sgns::storage::face::Iterable::cursor

function contains

virtual bool contains(
    const Buffer & key
) const override

Returns true if given key-value binding exists in the storage.

Parameters:

  • key K

Return: true if key has value, false otherwise.

Reimplements: sgns::storage::face::Readable::contains

function empty

virtual bool empty() const override

Returns true if the storage is empty.

Reimplements: sgns::storage::face::Readable::empty

function clearPrefix

virtual outcome::result< void > clearPrefix(
    const Buffer & prefix
) override

Reimplements: sgns::storage::trie::TrieBatch::clearPrefix

Remove all trie entries which key begins with the supplied prefix

function put

virtual outcome::result< void > put(
    const Buffer & key,
    const Buffer & value
) override

Store value by key.

Parameters:

  • key key
  • value value

Return: result containing void if put successful, error otherwise

Reimplements: sgns::storage::face::Writeable::put

function put

outcome::result< void > put(
    const Buffer & key,
    Buffer && value
) override

function remove

virtual outcome::result< void > remove(
    const Buffer & key
) override

Remove value by key.

Parameters:

  • key K

Return: error code if error happened

Reimplements: sgns::storage::face::Writeable::remove


Updated on 2026-04-15 at 11:00:39 -0700