rippled
Loading...
Searching...
No Matches
Public Member Functions | List of all members
xrpl::SHAMapStore Class Referenceabstract

class to create database, launch online delete thread, and related SQLite database More...

#include <SHAMapStore.h>

Inheritance diagram for xrpl::SHAMapStore:
Inheritance graph
[legend]

Public Member Functions

virtual ~SHAMapStore ()=default
 
virtual void onLedgerClosed (std::shared_ptr< Ledger const > const &ledger)=0
 Called by LedgerMaster every time a ledger validates.
 
virtual void start ()=0
 
virtual void rendezvous () const =0
 
virtual void stop ()=0
 
virtual std::uint32_t clampFetchDepth (std::uint32_t fetch_depth) const =0
 
virtual std::unique_ptr< NodeStore::DatabasemakeNodeStore (int readThreads)=0
 
virtual LedgerIndex setCanDelete (LedgerIndex canDelete)=0
 Highest ledger that may be deleted.
 
virtual bool advisoryDelete () const =0
 Whether advisory delete is enabled.
 
virtual LedgerIndex getLastRotated ()=0
 Maximum ledger that has been deleted, or will be deleted if currently in the act of online deletion.
 
virtual LedgerIndex getCanDelete ()=0
 Highest ledger that may be deleted.
 
virtual int fdRequired () const =0
 Returns the number of file descriptors that are needed.
 
virtual std::optional< LedgerIndexminimumOnline () const =0
 The minimum ledger to try and maintain in our database.
 

Detailed Description

class to create database, launch online delete thread, and related SQLite database

Definition at line 17 of file SHAMapStore.h.

Constructor & Destructor Documentation

◆ ~SHAMapStore()

virtual xrpl::SHAMapStore::~SHAMapStore ( )
virtualdefault

Member Function Documentation

◆ onLedgerClosed()

virtual void xrpl::SHAMapStore::onLedgerClosed ( std::shared_ptr< Ledger const > const &  ledger)
pure virtual

Called by LedgerMaster every time a ledger validates.

Implemented in xrpl::SHAMapStoreImp.

◆ start()

virtual void xrpl::SHAMapStore::start ( )
pure virtual

Implemented in xrpl::SHAMapStoreImp.

◆ rendezvous()

virtual void xrpl::SHAMapStore::rendezvous ( ) const
pure virtual

Implemented in xrpl::SHAMapStoreImp.

◆ stop()

virtual void xrpl::SHAMapStore::stop ( )
pure virtual

Implemented in xrpl::SHAMapStoreImp.

◆ clampFetchDepth()

virtual std::uint32_t xrpl::SHAMapStore::clampFetchDepth ( std::uint32_t  fetch_depth) const
pure virtual

Implemented in xrpl::SHAMapStoreImp.

◆ makeNodeStore()

virtual std::unique_ptr< NodeStore::Database > xrpl::SHAMapStore::makeNodeStore ( int  readThreads)
pure virtual

Implemented in xrpl::SHAMapStoreImp.

◆ setCanDelete()

virtual LedgerIndex xrpl::SHAMapStore::setCanDelete ( LedgerIndex  canDelete)
pure virtual

Highest ledger that may be deleted.

Implemented in xrpl::SHAMapStoreImp.

◆ advisoryDelete()

virtual bool xrpl::SHAMapStore::advisoryDelete ( ) const
pure virtual

Whether advisory delete is enabled.

Implemented in xrpl::SHAMapStoreImp.

◆ getLastRotated()

virtual LedgerIndex xrpl::SHAMapStore::getLastRotated ( )
pure virtual

Maximum ledger that has been deleted, or will be deleted if currently in the act of online deletion.

Implemented in xrpl::SHAMapStoreImp.

◆ getCanDelete()

virtual LedgerIndex xrpl::SHAMapStore::getCanDelete ( )
pure virtual

Highest ledger that may be deleted.

Implemented in xrpl::SHAMapStoreImp.

◆ fdRequired()

virtual int xrpl::SHAMapStore::fdRequired ( ) const
pure virtual

Returns the number of file descriptors that are needed.

Implemented in xrpl::SHAMapStoreImp.

◆ minimumOnline()

virtual std::optional< LedgerIndex > xrpl::SHAMapStore::minimumOnline ( ) const
pure virtual

The minimum ledger to try and maintain in our database.

This defines the lower bound for attempting to acquire historical ledgers over the peer to peer network.

If online_delete is enabled, then each time online_delete executes and just prior to clearing SQL databases of historical ledgers, move the value forward to one past the greatest ledger being deleted. This minimizes fetching of ledgers that are in the process of being deleted. Without online_delete or before online_delete is executed, this value is always the minimum value persisted in the ledger database, if any.

Returns
The minimum ledger sequence to keep online based on the description above. If not set, then an unseated optional.

Implemented in xrpl::SHAMapStoreImp.