22#include "data/LedgerCacheInterface.hpp"
23#include "util/config/ConfigDefinition.hpp"
41 { a.save() } -> std::same_as<void>;
42 { a.waitToFinish() } -> std::same_as<void>;
53 std::optional<std::string> cacheFilePath_;
54 std::reference_wrapper<LedgerCacheInterface const> cache_;
55 std::optional<std::thread> savingThread_;
Cache for an entire ledger.
Definition LedgerCacheInterface.hpp:40
~LedgerCacheSaver()
Destructor that ensures the saving thread is properly joined.
Definition LedgerCacheSaver.cpp:37
LedgerCacheSaver(util::config::ClioConfigDefinition const &config, LedgerCacheInterface const &cache)
Constructs a LedgerCacheSaver instance.
Definition LedgerCacheSaver.cpp:32
void waitToFinish()
Waits for the saving thread to complete.
Definition LedgerCacheSaver.cpp:62
void save()
Initiates an asynchronous save operation of the ledger cache.
Definition LedgerCacheSaver.cpp:43
All the config data will be stored and extracted from this class.
Definition ConfigDefinition.hpp:50
A concept for a class that can save ledger cache asynchronously.
Definition LedgerCacheSaver.hpp:40
This namespace implements the data access layer and related components.
Definition AmendmentCenter.cpp:70