Skip to content

sgns::neoswarm::reputation::ReputationStorage

Persists NodeReputation records to RocksDB. Falls back to an in-memory store when RocksDB is not compiled in.

#include <reputation_storage.hpp>

Public Classes

Name
struct Impl

Public Functions

Name
ReputationStorage(const std::string & db_path)
Construct storage pointing at the given database path.
~ReputationStorage()
outcome::result< void > Open()
Open (or create) the database.
void Close()
Close the database.
outcome::result< void > Put(const NodeReputation & rep)
Persist a reputation record.
outcome::result< void > PutBatch(const std::vector< NodeReputation > & records)
Atomically persist multiple reputation records.
outcome::result< NodeReputation > Get(const std::string & identity_key) const
Retrieve a reputation record by identity key.
outcome::result< void > Remove(const std::string & identity_key)
Delete a reputation record.
outcome::result< std::vector< NodeReputation > > GetAll() const
Retrieve all stored reputation records.
bool IsOpen() const

Public Functions Documentation

function ReputationStorage

explicit ReputationStorage(
    const std::string & db_path
)

Construct storage pointing at the given database path.

Parameters:

  • db_path Filesystem path for the RocksDB database directory.

function ~ReputationStorage

~ReputationStorage()

function Open

outcome::result< void > Open()

Open (or create) the database.

Return: outcome::success or StorageError.

function Close

void Close()

Close the database.

function Put

outcome::result< void > Put(
    const NodeReputation & rep
)

Persist a reputation record.

Parameters:

  • rep Record to store.

Return: outcome::success or StorageError.

function PutBatch

outcome::result< void > PutBatch(
    const std::vector< NodeReputation > & records
)

Atomically persist multiple reputation records.

Parameters:

  • records Records to store atomically.

Return: outcome::success or StorageError.

function Get

outcome::result< NodeReputation > Get(
    const std::string & identity_key
) const

Retrieve a reputation record by identity key.

Parameters:

  • identity_key Node identity key.

Return: NodeReputation or ReputationNotFound / StorageError.

function Remove

outcome::result< void > Remove(
    const std::string & identity_key
)

Delete a reputation record.

Parameters:

  • identity_key Node identity key.

Return: outcome::success or StorageError.

function GetAll

outcome::result< std::vector< NodeReputation > > GetAll() const

Retrieve all stored reputation records.

Return: Vector of all records or StorageError.

function IsOpen

inline bool IsOpen() const

Return: True if the database is currently open.


Updated on 2026-07-25 at 22:56:56 +0000