xrpld
Loading...
Searching...
No Matches
xrpl::LedgerMaster Class Reference

#include <LedgerMaster.h>

Inheritance diagram for xrpl::LedgerMaster:
Collaboration diagram for xrpl::LedgerMaster:

Classes

struct  Stats

Public Member Functions

 LedgerMaster (Application &app, Stopwatch &stopwatch, beast::insight::Collector::ptr const &collector, beast::Journal journal)
 ~LedgerMaster () override=default
LedgerIndex getCurrentLedgerIndex ()
LedgerIndex getValidLedgerIndex ()
bool isCompatible (ReadView const &, beast::Journal::Stream, char const *reason)
std::recursive_mutexpeekMutex ()
std::shared_ptr< ReadView const > getCurrentLedger ()
std::shared_ptr< Ledger const > getClosedLedger ()
std::shared_ptr< Ledger const > getValidatedLedger ()
Rules getValidatedRules ()
std::shared_ptr< ReadView const > getPublishedLedger ()
std::chrono::seconds getPublishedLedgerAge ()
std::chrono::seconds getValidatedLedgerAge ()
bool isCaughtUp (std::string &reason)
std::uint32_t getEarliestFetch ()
bool storeLedger (std::shared_ptr< Ledger const > ledger)
void setFullLedger (std::shared_ptr< Ledger const > const &ledger, bool isSynchronous, bool isCurrent)
bool canBeCurrent (std::shared_ptr< Ledger const > const &ledger)
 Check the sequence number and parent close time of a ledger against our clock and last validated ledger to see if it can be the network's current ledger.
void switchLCL (std::shared_ptr< Ledger const > const &lastClosed)
void failedSave (std::uint32_t seq, uint256 const &hash)
std::string getCompleteLedgers ()
void applyHeldTransactions ()
 Apply held transactions to the open ledger This is normally called as we close the ledger.
std::shared_ptr< STTx const > popAcctTransaction (std::shared_ptr< STTx const > const &tx)
 Get the next transaction held for a particular account if any.
uint256 getHashBySeq (std::uint32_t index)
 Get a ledger's hash by sequence number using the cache.
std::optional< LedgerHashwalkHashBySeq (std::uint32_t index, InboundLedger::Reason reason)
 Walk to a ledger's hash using the skip list.
std::optional< LedgerHashwalkHashBySeq (std::uint32_t index, std::shared_ptr< ReadView const > const &referenceLedger, InboundLedger::Reason reason)
 Walk the chain of ledger hashes to determine the hash of the ledger with the specified index.
std::shared_ptr< Ledger const > getLedgerBySeq (std::uint32_t index)
std::shared_ptr< Ledger const > getLedgerByHash (uint256 const &hash)
void setLedgerRangePresent (std::uint32_t minV, std::uint32_t maxV)
std::optional< NetClock::time_pointgetCloseTimeBySeq (LedgerIndex ledgerIndex)
std::optional< NetClock::time_pointgetCloseTimeByHash (LedgerHash const &ledgerHash, LedgerIndex ledgerIndex)
void addHeldTransaction (std::shared_ptr< Transaction > const &trans)
void fixMismatch (ReadView const &ledger)
bool haveLedger (std::uint32_t seq)
void clearLedger (std::uint32_t seq)
bool isValidated (ReadView const &ledger)
bool getValidatedRange (std::uint32_t &minVal, std::uint32_t &maxVal)
bool getFullValidatedRange (std::uint32_t &minVal, std::uint32_t &maxVal)
void sweep ()
float getCacheHitRate ()
void checkAccept (std::shared_ptr< Ledger const > const &ledger)
void checkAccept (uint256 const &hash, std::uint32_t seq)
void consensusBuilt (std::shared_ptr< Ledger const > const &ledger, uint256 const &consensusHash, json::Value consensus)
 Report that the consensus process built a particular ledger.
void setBuildingLedger (LedgerIndex index)
void tryAdvance ()
bool newPathRequest ()
bool isNewPathRequest ()
bool newOrderBookDB ()
bool fixIndex (LedgerIndex ledgerIndex, LedgerHash const &ledgerHash)
void clearPriorLedgers (LedgerIndex seq)
void clearLedgerCachePrior (LedgerIndex seq)
void takeReplay (std::unique_ptr< LedgerReplay > replay)
std::unique_ptr< LedgerReplayreleaseReplay ()
void gotFetchPack (bool progress, std::uint32_t seq)
void addFetchPack (uint256 const &hash, std::shared_ptr< Blob > data)
std::optional< BlobgetFetchPack (uint256 const &hash) override
void makeFetchPack (std::weak_ptr< Peer > const &wPeer, std::shared_ptr< protocol::TMGetObjectByHash > const &request, uint256 haveLedgerHash, UptimeClock::time_point uptime)
std::size_t getFetchPackCacheSize () const
bool haveValidated ()
 Whether we have ever fully validated a ledger.
std::optional< LedgerIndexminSqlSeq ()
std::optional< uint256txnIdFromIndex (uint32_t ledgerSeq, uint32_t txnIndex)

Private Member Functions

void setValidLedger (std::shared_ptr< Ledger const > const &l)
void setPubLedger (std::shared_ptr< Ledger const > const &l)
void tryFill (std::shared_ptr< Ledger const > ledger)
void getFetchPack (LedgerIndex missing, InboundLedger::Reason reason)
 Request a fetch pack to get to the specified ledger.
std::optional< LedgerHashgetLedgerHashForHistory (LedgerIndex index, InboundLedger::Reason reason)
std::size_t getNeededValidations ()
 Determines how many validations are needed to fully validate a ledger.
void fetchForHistory (std::uint32_t missing, bool &progress, InboundLedger::Reason reason, std::unique_lock< std::recursive_mutex > &)
void doAdvance (std::unique_lock< std::recursive_mutex > &)
std::vector< std::shared_ptr< Ledger const > > findNewLedgersToPublish (std::unique_lock< std::recursive_mutex > &)
void updatePaths ()
bool newPFWork (char const *name, std::unique_lock< std::recursive_mutex > &)
 A thread needs to be dispatched to handle pathfinding work of some kind.
void collectMetrics ()

Private Attributes

Applicationapp_
beast::Journal journal_
std::recursive_mutex mutex_
LedgerHolder closedLedger_
LedgerHolder validLedger_
std::shared_ptr< Ledger const > pubLedger_
std::shared_ptr< Ledger const > pathLedger_
std::shared_ptr< Ledger const > histLedger_
std::pair< uint256, LedgerIndexlastValidLedger_ {uint256(), 0}
LedgerHistory ledgerHistory_
CanonicalTXSet heldTransactions_ {uint256()}
std::unique_ptr< LedgerReplayreplayData_
std::recursive_mutex completeLock_
RangeSet< std::uint32_tcompleteLedgers_
bool advanceThread_ {false}
bool advanceWork_ {false}
int fillInProgress_ {0}
int pathFindThread_ {0}
bool pathFindNewRequest_ {false}
std::atomic_flag gotFetchPackThread_ = ATOMIC_FLAG_INIT
std::atomic< std::uint32_tpubLedgerClose_ {0}
std::atomic< LedgerIndexpubLedgerSeq_ {0}
std::atomic< std::uint32_tvalidLedgerSign_ {0}
std::atomic< LedgerIndexvalidLedgerSeq_ {0}
std::atomic< LedgerIndexbuildingLedgerSeq_ {0}
bool const standalone_
std::uint32_t const fetchDepth_
std::uint32_t const ledgerHistorySize_
std::uint32_t const ledgerFetchSize_
TaggedCache< uint256, BlobfetchPacks_
std::uint32_t fetchSeq_ {0}
LedgerIndex const maxLedgerDifference_ {1000000}
TimeKeeper::time_point upgradeWarningPrevTime_
Stats stats_

Detailed Description

Definition at line 32 of file LedgerMaster.h.

Constructor & Destructor Documentation

◆ LedgerMaster()

xrpl::LedgerMaster::LedgerMaster ( Application & app,
Stopwatch & stopwatch,
beast::insight::Collector::ptr const & collector,
beast::Journal journal )
explicit

Definition at line 121 of file LedgerMaster.cpp.

◆ ~LedgerMaster()

xrpl::LedgerMaster::~LedgerMaster ( )
overridedefault

Member Function Documentation

◆ getCurrentLedgerIndex()

LedgerIndex xrpl::LedgerMaster::getCurrentLedgerIndex ( )

Definition at line 144 of file LedgerMaster.cpp.

◆ getValidLedgerIndex()

LedgerIndex xrpl::LedgerMaster::getValidLedgerIndex ( )

Definition at line 150 of file LedgerMaster.cpp.

◆ isCompatible()

bool xrpl::LedgerMaster::isCompatible ( ReadView const & view,
beast::Journal::Stream s,
char const * reason )

Definition at line 156 of file LedgerMaster.cpp.

◆ peekMutex()

std::recursive_mutex & xrpl::LedgerMaster::peekMutex ( )

Definition at line 1532 of file LedgerMaster.cpp.

◆ getCurrentLedger()

std::shared_ptr< ReadView const > xrpl::LedgerMaster::getCurrentLedger ( )

Definition at line 1539 of file LedgerMaster.cpp.

◆ getClosedLedger()

std::shared_ptr< Ledger const > xrpl::LedgerMaster::getClosedLedger ( )

Definition at line 60 of file LedgerMaster.h.

◆ getValidatedLedger()

std::shared_ptr< Ledger const > xrpl::LedgerMaster::getValidatedLedger ( )

Definition at line 1545 of file LedgerMaster.cpp.

◆ getValidatedRules()

Rules xrpl::LedgerMaster::getValidatedRules ( )

Definition at line 1551 of file LedgerMaster.cpp.

◆ getPublishedLedger()

std::shared_ptr< ReadView const > xrpl::LedgerMaster::getPublishedLedger ( )

Definition at line 1566 of file LedgerMaster.cpp.

◆ getPublishedLedgerAge()

std::chrono::seconds xrpl::LedgerMaster::getPublishedLedgerAge ( )

Definition at line 179 of file LedgerMaster.cpp.

◆ getValidatedLedgerAge()

std::chrono::seconds xrpl::LedgerMaster::getValidatedLedgerAge ( )

Definition at line 203 of file LedgerMaster.cpp.

◆ isCaughtUp()

bool xrpl::LedgerMaster::isCaughtUp ( std::string & reason)

Definition at line 228 of file LedgerMaster.cpp.

◆ getEarliestFetch()

std::uint32_t xrpl::LedgerMaster::getEarliestFetch ( )

Definition at line 626 of file LedgerMaster.cpp.

◆ storeLedger()

bool xrpl::LedgerMaster::storeLedger ( std::shared_ptr< Ledger const > ledger)

Definition at line 450 of file LedgerMaster.cpp.

◆ setFullLedger()

void xrpl::LedgerMaster::setFullLedger ( std::shared_ptr< Ledger const > const & ledger,
bool isSynchronous,
bool isCurrent )

Definition at line 816 of file LedgerMaster.cpp.

◆ canBeCurrent()

bool xrpl::LedgerMaster::canBeCurrent ( std::shared_ptr< Ledger const > const & ledger)

Check the sequence number and parent close time of a ledger against our clock and last validated ledger to see if it can be the network's current ledger.

Definition at line 353 of file LedgerMaster.cpp.

◆ switchLCL()

void xrpl::LedgerMaster::switchLCL ( std::shared_ptr< Ledger const > const & lastClosed)

Definition at line 418 of file LedgerMaster.cpp.

◆ failedSave()

void xrpl::LedgerMaster::failedSave ( std::uint32_t seq,
uint256 const & hash )

Definition at line 877 of file LedgerMaster.cpp.

◆ getCompleteLedgers()

std::string xrpl::LedgerMaster::getCompleteLedgers ( )

Definition at line 1573 of file LedgerMaster.cpp.

◆ applyHeldTransactions()

void xrpl::LedgerMaster::applyHeldTransactions ( )

Apply held transactions to the open ledger This is normally called as we close the ledger.

The open ledger remains open to handle new transactions until a new open ledger is built.

Definition at line 463 of file LedgerMaster.cpp.

◆ popAcctTransaction()

std::shared_ptr< STTx const > xrpl::LedgerMaster::popAcctTransaction ( std::shared_ptr< STTx const > const & tx)

Get the next transaction held for a particular account if any.

This is normally called when a transaction for that account is successfully applied to the open ledger so the next transaction can be resubmitted without waiting for ledger close.

Definition at line 479 of file LedgerMaster.cpp.

◆ getHashBySeq()

uint256 xrpl::LedgerMaster::getHashBySeq ( std::uint32_t index)

Get a ledger's hash by sequence number using the cache.

Definition at line 1606 of file LedgerMaster.cpp.

◆ walkHashBySeq() [1/2]

std::optional< LedgerHash > xrpl::LedgerMaster::walkHashBySeq ( std::uint32_t index,
InboundLedger::Reason reason )

Walk to a ledger's hash using the skip list.

Definition at line 1617 of file LedgerMaster.cpp.

◆ walkHashBySeq() [2/2]

std::optional< LedgerHash > xrpl::LedgerMaster::walkHashBySeq ( std::uint32_t index,
std::shared_ptr< ReadView const > const & referenceLedger,
InboundLedger::Reason reason )

Walk the chain of ledger hashes to determine the hash of the ledger with the specified index.

The referenceLedger is used as the base of the chain and should be fully validated and must not precede the target index. This function may throw if nodes from the reference ledger or any prior ledger are not present in the node store.

Definition at line 1628 of file LedgerMaster.cpp.

◆ getLedgerBySeq()

std::shared_ptr< Ledger const > xrpl::LedgerMaster::getLedgerBySeq ( std::uint32_t index)

Definition at line 1683 of file LedgerMaster.cpp.

◆ getLedgerByHash()

std::shared_ptr< Ledger const > xrpl::LedgerMaster::getLedgerByHash ( uint256 const & hash)

Definition at line 1719 of file LedgerMaster.cpp.

◆ setLedgerRangePresent()

void xrpl::LedgerMaster::setLedgerRangePresent ( std::uint32_t minV,
std::uint32_t maxV )

Definition at line 1732 of file LedgerMaster.cpp.

◆ getCloseTimeBySeq()

std::optional< NetClock::time_point > xrpl::LedgerMaster::getCloseTimeBySeq ( LedgerIndex ledgerIndex)

Definition at line 1580 of file LedgerMaster.cpp.

◆ getCloseTimeByHash()

std::optional< NetClock::time_point > xrpl::LedgerMaster::getCloseTimeByHash ( LedgerHash const & ledgerHash,
LedgerIndex ledgerIndex )

Definition at line 1587 of file LedgerMaster.cpp.

◆ addHeldTransaction()

void xrpl::LedgerMaster::addHeldTransaction ( std::shared_ptr< Transaction > const & trans)

Definition at line 343 of file LedgerMaster.cpp.

◆ fixMismatch()

void xrpl::LedgerMaster::fixMismatch ( ReadView const & ledger)

Definition at line 764 of file LedgerMaster.cpp.

◆ haveLedger()

bool xrpl::LedgerMaster::haveLedger ( std::uint32_t seq)

Definition at line 493 of file LedgerMaster.cpp.

◆ clearLedger()

void xrpl::LedgerMaster::clearLedger ( std::uint32_t seq)

Definition at line 500 of file LedgerMaster.cpp.

◆ isValidated()

bool xrpl::LedgerMaster::isValidated ( ReadView const & ledger)

Definition at line 507 of file LedgerMaster.cpp.

◆ getValidatedRange()

bool xrpl::LedgerMaster::getValidatedRange ( std::uint32_t & minVal,
std::uint32_t & maxVal )

Definition at line 581 of file LedgerMaster.cpp.

◆ getFullValidatedRange()

bool xrpl::LedgerMaster::getFullValidatedRange ( std::uint32_t & minVal,
std::uint32_t & maxVal )

Definition at line 552 of file LedgerMaster.cpp.

◆ sweep()

void xrpl::LedgerMaster::sweep ( )

Definition at line 1739 of file LedgerMaster.cpp.

◆ getCacheHitRate()

float xrpl::LedgerMaster::getCacheHitRate ( )

Definition at line 1746 of file LedgerMaster.cpp.

◆ checkAccept() [1/2]

void xrpl::LedgerMaster::checkAccept ( std::shared_ptr< Ledger const > const & ledger)

Definition at line 946 of file LedgerMaster.cpp.

◆ checkAccept() [2/2]

void xrpl::LedgerMaster::checkAccept ( uint256 const & hash,
std::uint32_t seq )

Definition at line 886 of file LedgerMaster.cpp.

◆ consensusBuilt()

void xrpl::LedgerMaster::consensusBuilt ( std::shared_ptr< Ledger const > const & ledger,
uint256 const & consensusHash,
json::Value consensus )

Report that the consensus process built a particular ledger.

Definition at line 1085 of file LedgerMaster.cpp.

◆ setBuildingLedger()

void xrpl::LedgerMaster::setBuildingLedger ( LedgerIndex index)

Definition at line 487 of file LedgerMaster.cpp.

◆ tryAdvance()

void xrpl::LedgerMaster::tryAdvance ( )

Definition at line 1346 of file LedgerMaster.cpp.

◆ newPathRequest()

bool xrpl::LedgerMaster::newPathRequest ( )

Definition at line 1486 of file LedgerMaster.cpp.

◆ isNewPathRequest()

bool xrpl::LedgerMaster::isNewPathRequest ( )

Definition at line 1494 of file LedgerMaster.cpp.

◆ newOrderBookDB()

bool xrpl::LedgerMaster::newOrderBookDB ( )

Definition at line 1505 of file LedgerMaster.cpp.

◆ fixIndex()

bool xrpl::LedgerMaster::fixIndex ( LedgerIndex ledgerIndex,
LedgerHash const & ledgerHash )

Definition at line 444 of file LedgerMaster.cpp.

◆ clearPriorLedgers()

void xrpl::LedgerMaster::clearPriorLedgers ( LedgerIndex seq)

Definition at line 1752 of file LedgerMaster.cpp.

◆ clearLedgerCachePrior()

void xrpl::LedgerMaster::clearLedgerCachePrior ( LedgerIndex seq)

Definition at line 1760 of file LedgerMaster.cpp.

◆ takeReplay()

void xrpl::LedgerMaster::takeReplay ( std::unique_ptr< LedgerReplay > replay)

Definition at line 1766 of file LedgerMaster.cpp.

◆ releaseReplay()

std::unique_ptr< LedgerReplay > xrpl::LedgerMaster::releaseReplay ( )

Definition at line 1772 of file LedgerMaster.cpp.

◆ gotFetchPack()

void xrpl::LedgerMaster::gotFetchPack ( bool progress,
std::uint32_t seq )

Definition at line 1987 of file LedgerMaster.cpp.

◆ addFetchPack()

void xrpl::LedgerMaster::addFetchPack ( uint256 const & hash,
std::shared_ptr< Blob > data )

Definition at line 1968 of file LedgerMaster.cpp.

◆ getFetchPack() [1/2]

std::optional< Blob > xrpl::LedgerMaster::getFetchPack ( uint256 const & hash)
override

Definition at line 1974 of file LedgerMaster.cpp.

◆ makeFetchPack()

void xrpl::LedgerMaster::makeFetchPack ( std::weak_ptr< Peer > const & wPeer,
std::shared_ptr< protocol::TMGetObjectByHash > const & request,
uint256 haveLedgerHash,
UptimeClock::time_point uptime )

Definition at line 2055 of file LedgerMaster.cpp.

◆ getFetchPackCacheSize()

std::size_t xrpl::LedgerMaster::getFetchPackCacheSize ( ) const

Definition at line 2176 of file LedgerMaster.cpp.

◆ haveValidated()

bool xrpl::LedgerMaster::haveValidated ( )

Whether we have ever fully validated a ledger.

Definition at line 243 of file LedgerMaster.h.

◆ minSqlSeq()

std::optional< LedgerIndex > xrpl::LedgerMaster::minSqlSeq ( )

Definition at line 2183 of file LedgerMaster.cpp.

◆ txnIdFromIndex()

std::optional< uint256 > xrpl::LedgerMaster::txnIdFromIndex ( uint32_t ledgerSeq,
uint32_t txnIndex )

Definition at line 2189 of file LedgerMaster.cpp.

◆ setValidLedger()

void xrpl::LedgerMaster::setValidLedger ( std::shared_ptr< Ledger const > const & l)
private

Definition at line 253 of file LedgerMaster.cpp.

◆ setPubLedger()

void xrpl::LedgerMaster::setPubLedger ( std::shared_ptr< Ledger const > const & l)
private

Definition at line 335 of file LedgerMaster.cpp.

◆ tryFill()

void xrpl::LedgerMaster::tryFill ( std::shared_ptr< Ledger const > ledger)
private

Definition at line 644 of file LedgerMaster.cpp.

◆ getFetchPack() [2/2]

void xrpl::LedgerMaster::getFetchPack ( LedgerIndex missing,
InboundLedger::Reason reason )
private

Request a fetch pack to get to the specified ledger.

Definition at line 715 of file LedgerMaster.cpp.

◆ getLedgerHashForHistory()

std::optional< LedgerHash > xrpl::LedgerMaster::getLedgerHashForHistory ( LedgerIndex index,
InboundLedger::Reason reason )
private

Definition at line 1185 of file LedgerMaster.cpp.

◆ getNeededValidations()

std::size_t xrpl::LedgerMaster::getNeededValidations ( )
private

Determines how many validations are needed to fully validate a ledger.

Returns
Number of validations needed

Definition at line 940 of file LedgerMaster.cpp.

◆ fetchForHistory()

void xrpl::LedgerMaster::fetchForHistory ( std::uint32_t missing,
bool & progress,
InboundLedger::Reason reason,
std::unique_lock< std::recursive_mutex > & sl )
private

Definition at line 1778 of file LedgerMaster.cpp.

◆ doAdvance()

void xrpl::LedgerMaster::doAdvance ( std::unique_lock< std::recursive_mutex > & sl)
private

Definition at line 1879 of file LedgerMaster.cpp.

◆ findNewLedgersToPublish()

std::vector< std::shared_ptr< Ledger const > > xrpl::LedgerMaster::findNewLedgersToPublish ( std::unique_lock< std::recursive_mutex > & sl)
private

Definition at line 1205 of file LedgerMaster.cpp.

◆ updatePaths()

void xrpl::LedgerMaster::updatePaths ( )
private

Definition at line 1380 of file LedgerMaster.cpp.

◆ newPFWork()

bool xrpl::LedgerMaster::newPFWork ( char const * name,
std::unique_lock< std::recursive_mutex > &  )
private

A thread needs to be dispatched to handle pathfinding work of some kind.

Definition at line 1516 of file LedgerMaster.cpp.

◆ collectMetrics()

void xrpl::LedgerMaster::collectMetrics ( )
private

Definition at line 388 of file LedgerMaster.h.

Member Data Documentation

◆ app_

Application& xrpl::LedgerMaster::app_
private

Definition at line 295 of file LedgerMaster.h.

◆ journal_

beast::Journal xrpl::LedgerMaster::journal_
private

Definition at line 296 of file LedgerMaster.h.

◆ mutex_

std::recursive_mutex xrpl::LedgerMaster::mutex_
mutableprivate

Definition at line 298 of file LedgerMaster.h.

◆ closedLedger_

LedgerHolder xrpl::LedgerMaster::closedLedger_
private

Definition at line 301 of file LedgerMaster.h.

◆ validLedger_

LedgerHolder xrpl::LedgerMaster::validLedger_
private

Definition at line 304 of file LedgerMaster.h.

◆ pubLedger_

std::shared_ptr<Ledger const> xrpl::LedgerMaster::pubLedger_
private

Definition at line 307 of file LedgerMaster.h.

◆ pathLedger_

std::shared_ptr<Ledger const> xrpl::LedgerMaster::pathLedger_
private

Definition at line 310 of file LedgerMaster.h.

◆ histLedger_

std::shared_ptr<Ledger const> xrpl::LedgerMaster::histLedger_
private

Definition at line 313 of file LedgerMaster.h.

◆ lastValidLedger_

std::pair<uint256, LedgerIndex> xrpl::LedgerMaster::lastValidLedger_ {uint256(), 0}
private

Definition at line 316 of file LedgerMaster.h.

◆ ledgerHistory_

LedgerHistory xrpl::LedgerMaster::ledgerHistory_
private

Definition at line 318 of file LedgerMaster.h.

◆ heldTransactions_

CanonicalTXSet xrpl::LedgerMaster::heldTransactions_ {uint256()}
private

Definition at line 320 of file LedgerMaster.h.

◆ replayData_

std::unique_ptr<LedgerReplay> xrpl::LedgerMaster::replayData_
private

Definition at line 323 of file LedgerMaster.h.

◆ completeLock_

std::recursive_mutex xrpl::LedgerMaster::completeLock_
private

Definition at line 325 of file LedgerMaster.h.

◆ completeLedgers_

RangeSet<std::uint32_t> xrpl::LedgerMaster::completeLedgers_
private

Definition at line 326 of file LedgerMaster.h.

◆ advanceThread_

bool xrpl::LedgerMaster::advanceThread_ {false}
private

Definition at line 329 of file LedgerMaster.h.

◆ advanceWork_

bool xrpl::LedgerMaster::advanceWork_ {false}
private

Definition at line 332 of file LedgerMaster.h.

◆ fillInProgress_

int xrpl::LedgerMaster::fillInProgress_ {0}
private

Definition at line 333 of file LedgerMaster.h.

◆ pathFindThread_

int xrpl::LedgerMaster::pathFindThread_ {0}
private

Definition at line 335 of file LedgerMaster.h.

◆ pathFindNewRequest_

bool xrpl::LedgerMaster::pathFindNewRequest_ {false}
private

Definition at line 336 of file LedgerMaster.h.

◆ gotFetchPackThread_

std::atomic_flag xrpl::LedgerMaster::gotFetchPackThread_ = ATOMIC_FLAG_INIT
private

Definition at line 338 of file LedgerMaster.h.

◆ pubLedgerClose_

std::atomic<std::uint32_t> xrpl::LedgerMaster::pubLedgerClose_ {0}
private

Definition at line 340 of file LedgerMaster.h.

◆ pubLedgerSeq_

std::atomic<LedgerIndex> xrpl::LedgerMaster::pubLedgerSeq_ {0}
private

Definition at line 341 of file LedgerMaster.h.

◆ validLedgerSign_

std::atomic<std::uint32_t> xrpl::LedgerMaster::validLedgerSign_ {0}
private

Definition at line 342 of file LedgerMaster.h.

◆ validLedgerSeq_

std::atomic<LedgerIndex> xrpl::LedgerMaster::validLedgerSeq_ {0}
private

Definition at line 343 of file LedgerMaster.h.

◆ buildingLedgerSeq_

std::atomic<LedgerIndex> xrpl::LedgerMaster::buildingLedgerSeq_ {0}
private

Definition at line 344 of file LedgerMaster.h.

◆ standalone_

bool const xrpl::LedgerMaster::standalone_
private

Definition at line 347 of file LedgerMaster.h.

◆ fetchDepth_

std::uint32_t const xrpl::LedgerMaster::fetchDepth_
private

Definition at line 350 of file LedgerMaster.h.

◆ ledgerHistorySize_

std::uint32_t const xrpl::LedgerMaster::ledgerHistorySize_
private

Definition at line 353 of file LedgerMaster.h.

◆ ledgerFetchSize_

std::uint32_t const xrpl::LedgerMaster::ledgerFetchSize_
private

Definition at line 355 of file LedgerMaster.h.

◆ fetchPacks_

TaggedCache<uint256, Blob> xrpl::LedgerMaster::fetchPacks_
private

Definition at line 357 of file LedgerMaster.h.

◆ fetchSeq_

std::uint32_t xrpl::LedgerMaster::fetchSeq_ {0}
private

Definition at line 359 of file LedgerMaster.h.

◆ maxLedgerDifference_

LedgerIndex const xrpl::LedgerMaster::maxLedgerDifference_ {1000000}
private

Definition at line 363 of file LedgerMaster.h.

◆ upgradeWarningPrevTime_

TimeKeeper::time_point xrpl::LedgerMaster::upgradeWarningPrevTime_
private

Definition at line 366 of file LedgerMaster.h.

◆ stats_

Stats xrpl::LedgerMaster::stats_
private

Definition at line 384 of file LedgerMaster.h.