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 49 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 122 of file LedgerMaster.cpp.

◆ ~LedgerMaster()

xrpl::LedgerMaster::~LedgerMaster ( )
overridedefault

Member Function Documentation

◆ getCurrentLedgerIndex()

LedgerIndex xrpl::LedgerMaster::getCurrentLedgerIndex ( )

Definition at line 145 of file LedgerMaster.cpp.

◆ getValidLedgerIndex()

LedgerIndex xrpl::LedgerMaster::getValidLedgerIndex ( )

Definition at line 151 of file LedgerMaster.cpp.

◆ isCompatible()

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

Definition at line 157 of file LedgerMaster.cpp.

◆ peekMutex()

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

Definition at line 1538 of file LedgerMaster.cpp.

◆ getCurrentLedger()

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

Definition at line 1545 of file LedgerMaster.cpp.

◆ getClosedLedger()

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

Definition at line 77 of file LedgerMaster.h.

◆ getValidatedLedger()

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

Definition at line 1551 of file LedgerMaster.cpp.

◆ getValidatedRules()

Rules xrpl::LedgerMaster::getValidatedRules ( )

Definition at line 1557 of file LedgerMaster.cpp.

◆ getPublishedLedger()

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

Definition at line 1572 of file LedgerMaster.cpp.

◆ getPublishedLedgerAge()

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

Definition at line 180 of file LedgerMaster.cpp.

◆ getValidatedLedgerAge()

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

Definition at line 204 of file LedgerMaster.cpp.

◆ isCaughtUp()

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

Definition at line 229 of file LedgerMaster.cpp.

◆ getEarliestFetch()

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

Definition at line 628 of file LedgerMaster.cpp.

◆ storeLedger()

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

Definition at line 451 of file LedgerMaster.cpp.

◆ setFullLedger()

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

Definition at line 819 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 354 of file LedgerMaster.cpp.

◆ switchLCL()

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

Definition at line 419 of file LedgerMaster.cpp.

◆ failedSave()

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

Definition at line 880 of file LedgerMaster.cpp.

◆ getCompleteLedgers()

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

Definition at line 1579 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 465 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 481 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 1612 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 1623 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 1634 of file LedgerMaster.cpp.

◆ getLedgerBySeq()

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

Definition at line 1689 of file LedgerMaster.cpp.

◆ getLedgerByHash()

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

Definition at line 1725 of file LedgerMaster.cpp.

◆ setLedgerRangePresent()

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

Definition at line 1738 of file LedgerMaster.cpp.

◆ getCloseTimeBySeq()

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

Definition at line 1586 of file LedgerMaster.cpp.

◆ getCloseTimeByHash()

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

Definition at line 1593 of file LedgerMaster.cpp.

◆ addHeldTransaction()

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

Definition at line 344 of file LedgerMaster.cpp.

◆ fixMismatch()

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

Definition at line 767 of file LedgerMaster.cpp.

◆ haveLedger()

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

Definition at line 495 of file LedgerMaster.cpp.

◆ clearLedger()

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

Definition at line 502 of file LedgerMaster.cpp.

◆ isValidated()

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

Definition at line 509 of file LedgerMaster.cpp.

◆ getValidatedRange()

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

Definition at line 583 of file LedgerMaster.cpp.

◆ getFullValidatedRange()

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

Definition at line 554 of file LedgerMaster.cpp.

◆ sweep()

void xrpl::LedgerMaster::sweep ( )

Definition at line 1745 of file LedgerMaster.cpp.

◆ getCacheHitRate()

float xrpl::LedgerMaster::getCacheHitRate ( )

Definition at line 1752 of file LedgerMaster.cpp.

◆ checkAccept() [1/2]

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

Definition at line 949 of file LedgerMaster.cpp.

◆ checkAccept() [2/2]

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

Definition at line 889 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 1090 of file LedgerMaster.cpp.

◆ setBuildingLedger()

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

Definition at line 489 of file LedgerMaster.cpp.

◆ tryAdvance()

void xrpl::LedgerMaster::tryAdvance ( )

Definition at line 1351 of file LedgerMaster.cpp.

◆ newPathRequest()

bool xrpl::LedgerMaster::newPathRequest ( )

Definition at line 1491 of file LedgerMaster.cpp.

◆ isNewPathRequest()

bool xrpl::LedgerMaster::isNewPathRequest ( )

Definition at line 1499 of file LedgerMaster.cpp.

◆ newOrderBookDB()

bool xrpl::LedgerMaster::newOrderBookDB ( )

Definition at line 1510 of file LedgerMaster.cpp.

◆ fixIndex()

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

Definition at line 445 of file LedgerMaster.cpp.

◆ clearPriorLedgers()

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

Definition at line 1758 of file LedgerMaster.cpp.

◆ clearLedgerCachePrior()

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

Definition at line 1766 of file LedgerMaster.cpp.

◆ takeReplay()

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

Definition at line 1772 of file LedgerMaster.cpp.

◆ releaseReplay()

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

Definition at line 1778 of file LedgerMaster.cpp.

◆ gotFetchPack()

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

Definition at line 1993 of file LedgerMaster.cpp.

◆ addFetchPack()

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

Definition at line 1974 of file LedgerMaster.cpp.

◆ getFetchPack() [1/2]

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

Definition at line 1980 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 2062 of file LedgerMaster.cpp.

◆ getFetchPackCacheSize()

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

Definition at line 2183 of file LedgerMaster.cpp.

◆ haveValidated()

bool xrpl::LedgerMaster::haveValidated ( )

Whether we have ever fully validated a ledger.

Definition at line 269 of file LedgerMaster.h.

◆ minSqlSeq()

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

Definition at line 2190 of file LedgerMaster.cpp.

◆ txnIdFromIndex()

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

Definition at line 2196 of file LedgerMaster.cpp.

◆ setValidLedger()

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

Definition at line 254 of file LedgerMaster.cpp.

◆ setPubLedger()

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

Definition at line 336 of file LedgerMaster.cpp.

◆ tryFill()

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

Definition at line 646 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 718 of file LedgerMaster.cpp.

◆ getLedgerHashForHistory()

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

Definition at line 1190 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 943 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 1784 of file LedgerMaster.cpp.

◆ doAdvance()

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

Definition at line 1885 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 1210 of file LedgerMaster.cpp.

◆ updatePaths()

void xrpl::LedgerMaster::updatePaths ( )
private

Definition at line 1385 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 1522 of file LedgerMaster.cpp.

◆ collectMetrics()

void xrpl::LedgerMaster::collectMetrics ( )
private

Definition at line 414 of file LedgerMaster.h.

Member Data Documentation

◆ app_

Application& xrpl::LedgerMaster::app_
private

Definition at line 321 of file LedgerMaster.h.

◆ journal_

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

Definition at line 322 of file LedgerMaster.h.

◆ mutex_

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

Definition at line 324 of file LedgerMaster.h.

◆ closedLedger_

LedgerHolder xrpl::LedgerMaster::closedLedger_
private

Definition at line 327 of file LedgerMaster.h.

◆ validLedger_

LedgerHolder xrpl::LedgerMaster::validLedger_
private

Definition at line 330 of file LedgerMaster.h.

◆ pubLedger_

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

Definition at line 333 of file LedgerMaster.h.

◆ pathLedger_

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

Definition at line 336 of file LedgerMaster.h.

◆ histLedger_

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

Definition at line 339 of file LedgerMaster.h.

◆ lastValidLedger_

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

Definition at line 342 of file LedgerMaster.h.

◆ ledgerHistory_

LedgerHistory xrpl::LedgerMaster::ledgerHistory_
private

Definition at line 344 of file LedgerMaster.h.

◆ heldTransactions_

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

Definition at line 346 of file LedgerMaster.h.

◆ replayData_

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

Definition at line 349 of file LedgerMaster.h.

◆ completeLock_

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

Definition at line 351 of file LedgerMaster.h.

◆ completeLedgers_

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

Definition at line 352 of file LedgerMaster.h.

◆ advanceThread_

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

Definition at line 355 of file LedgerMaster.h.

◆ advanceWork_

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

Definition at line 358 of file LedgerMaster.h.

◆ fillInProgress_

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

Definition at line 359 of file LedgerMaster.h.

◆ pathFindThread_

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

Definition at line 361 of file LedgerMaster.h.

◆ pathFindNewRequest_

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

Definition at line 362 of file LedgerMaster.h.

◆ gotFetchPackThread_

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

Definition at line 364 of file LedgerMaster.h.

◆ pubLedgerClose_

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

Definition at line 366 of file LedgerMaster.h.

◆ pubLedgerSeq_

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

Definition at line 367 of file LedgerMaster.h.

◆ validLedgerSign_

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

Definition at line 368 of file LedgerMaster.h.

◆ validLedgerSeq_

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

Definition at line 369 of file LedgerMaster.h.

◆ buildingLedgerSeq_

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

Definition at line 370 of file LedgerMaster.h.

◆ standalone_

bool const xrpl::LedgerMaster::standalone_
private

Definition at line 373 of file LedgerMaster.h.

◆ fetchDepth_

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

Definition at line 376 of file LedgerMaster.h.

◆ ledgerHistorySize_

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

Definition at line 379 of file LedgerMaster.h.

◆ ledgerFetchSize_

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

Definition at line 381 of file LedgerMaster.h.

◆ fetchPacks_

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

Definition at line 383 of file LedgerMaster.h.

◆ fetchSeq_

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

Definition at line 385 of file LedgerMaster.h.

◆ maxLedgerDifference_

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

Definition at line 389 of file LedgerMaster.h.

◆ upgradeWarningPrevTime_

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

Definition at line 392 of file LedgerMaster.h.

◆ stats_

Stats xrpl::LedgerMaster::stats_
private

Definition at line 410 of file LedgerMaster.h.