20 #ifndef RIPPLE_APP_MISC_SHAMAPSTORE_H_INCLUDED
21 #define RIPPLE_APP_MISC_SHAMAPSTORE_H_INCLUDED
23 #include <ripple/app/ledger/Ledger.h>
24 #include <ripple/core/Stoppable.h>
25 #include <ripple/nodestore/Manager.h>
26 #include <ripple/protocol/ErrorCodes.h>
27 #include <boost/optional.hpp>
31 class TransactionMaster;
95 virtual boost::optional<LedgerIndex>
105 NodeStore::Scheduler& scheduler,
virtual std::unique_ptr< NodeStore::Database > makeNodeStore(std::string const &name, std::int32_t readThreads)=0
virtual void onLedgerClosed(std::shared_ptr< Ledger const > const &ledger)=0
Called by LedgerMaster every time a ledger validates.
class to create database, launch online delete thread, and related SQLite database
virtual void rendezvous() const =0
virtual LedgerIndex getLastRotated()=0
Maximum ledger that has been deleted, or will be deleted if currently in the act of online deletion.
virtual bool advisoryDelete() const =0
Whether advisory delete is enabled.
virtual std::uint32_t clampFetchDepth(std::uint32_t fetch_depth) const =0
Provides an interface for starting and stopping.
virtual LedgerIndex setCanDelete(LedgerIndex canDelete)=0
Highest ledger that may be deleted.
virtual boost::optional< LedgerIndex > minimumOnline() const =0
The minimum ledger to try and maintain in our database.
A generic endpoint for log messages.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::unique_ptr< SHAMapStore > make_SHAMapStore(Application &app, Stoppable &parent, NodeStore::Scheduler &scheduler, beast::Journal journal)
SHAMapStore(Stoppable &parent)
virtual LedgerIndex getCanDelete()=0
Highest ledger that may be deleted.
virtual int fdRequired() const =0
Returns the number of file descriptors that are needed.