xrpld
Loading...
Searching...
No Matches
xrpl::ApplicationImp Class Reference
Inheritance diagram for xrpl::ApplicationImp:

Classes

class  IOLatencySampler

Public Types

using MutexType = std::recursive_mutex

Public Member Functions

 ApplicationImp (std::unique_ptr< Config > config, std::unique_ptr< Logs > logs, std::unique_ptr< TimeKeeper > timeKeeper)
bool setup (boost::program_options::variables_map const &cmdline) override
void start (bool withTimers) override
void run () override
void signalStop (std::string const &msg) override
bool checkSigs () const override
void checkSigs (bool) override
bool isStopping () const override
int fdRequired () const override
std::uint64_t instanceID () const override
 Returns a 64-bit instance identifier, generated at startup.
LogsgetLogs () override
Configconfig () override
CollectorManagergetCollectorManager () override
FamilygetNodeFamily () override
TimeKeepergetTimeKeeper () override
JobQueuegetJobQueue () override
std::pair< PublicKey, SecretKey > const & nodeIdentity () override
std::optional< PublicKey const > getValidationPublicKey () const override
NetworkOPsgetOPs () override
ServerHandlergetServerHandler () override
boost::asio::io_context & getIOContext () override
std::chrono::milliseconds getIOLatency () override
LedgerMastergetLedgerMaster () override
LedgerCleanergetLedgerCleaner () override
LedgerReplayergetLedgerReplayer () override
InboundLedgersgetInboundLedgers () override
InboundTransactionsgetInboundTransactions () override
TaggedCache< uint256, AcceptedLedger > & getAcceptedLedgerCache () override
void gotTXSet (std::shared_ptr< SHAMap > const &set, bool fromAcquire) const
TransactionMastergetMasterTransaction () override
perf::PerfLoggetPerfLog () override
NodeCachegetTempNodeCache () override
NodeStore::DatabasegetNodeStore () override
Application::MutexTypegetMasterMutex () override
LoadManagergetLoadManager () override
Resource::ManagergetResourceManager () override
OrderBookDBgetOrderBookDB () override
PathRequestManagergetPathRequestManager () override
CachedSLEsgetCachedSLEs () override
NetworkIDServicegetNetworkIDService () override
AmendmentTablegetAmendmentTable () override
LoadFeeTrackgetFeeTrack () override
HashRoutergetHashRouter () override
RCLValidationsgetValidations () override
ValidatorListgetValidators () override
ValidatorSitegetValidatorSites () override
ManifestCachegetValidatorManifests () override
ManifestCachegetPublisherManifests () override
ClustergetCluster () override
PeerReservationTablegetPeerReservations () override
SHAMapStoregetSHAMapStore () override
PendingSavesgetPendingSaves () override
OpenLedgergetOpenLedger () override
OpenLedger const & getOpenLedger () const override
OverlaygetOverlay () override
TxQgetTxQ () override
RelationalDatabasegetRelationalDatabase () override
DatabaseCongetWalletDB () override
 Retrieve the "wallet database".
bool serverOkay (std::string &reason) override
beast::Journal getJournal (std::string const &name) override
bool initRelationalDatabase ()
bool initNodeStore () const
void onWrite (beast::PropertyStream::Map &stream) override
 Subclass override.
void setSweepTimer ()
void setEntropyTimer ()
void doSweep ()
LedgerIndex getMaxDisallowedLedger () override
 Ensure that a newly-started validator does not sign proposals older than the last ledger it persisted.
std::optional< uint256 > const & getTrapTxID () const override
size_t getNumberOfThreads () const override
 Returns the number of io_context (I/O worker) threads used by the application.
std::string const & name () const
 Returns the name of this source.
void add (Source &source)
 Add a child source.
template<class Derived>
Derived * add (Derived *child)
 Add a child source by pointer.
void remove (Source &child)
 Remove a child source from this Source.
void removeAll ()
 Remove all child sources from this Source.
void writeOne (PropertyStream &stream)
 Write only this Source to the stream.
void write (PropertyStream &stream)
 write this source and all its children recursively to the stream.
void write (PropertyStream &stream, std::string const &path)
 Parse the path and write the corresponding Source and optional children.
std::pair< Source *, bool > find (std::string path)
 Parse the dot-delimited Source path and return the result.
SourcefindOneDeep (std::string const &name)
PropertyStream::Source * findPath (std::string path)
PropertyStream::Source * findOne (std::string const &name)
boost::asio::io_context & getIoContext ()

Static Public Member Functions

static std::size_t numberOfThreads (Config const &config)
static bool peelLeadingSlash (std::string *path)
static bool peelTrailingSlashstar (std::string *path)
static std::string peelName (std::string *path)

Public Attributes

std::unique_ptr< Configconfig_
std::unique_ptr< Logslogs_
std::unique_ptr< TimeKeepertimeKeeper_
std::uint64_t const instanceCookie_
beast::Journal journal_
std::unique_ptr< perf::PerfLogperfLog_
Application::MutexType masterMutex_
TransactionMaster txMaster_
std::unique_ptr< CollectorManagercollectorManager_
std::unique_ptr< JobQueuejobQueue_
NodeStoreScheduler nodeStoreScheduler_
std::unique_ptr< SHAMapStoreshaMapStore_
PendingSaves pendingSaves_
std::optional< OpenLedgeropenLedger_
NodeCache tempNodeCache_
CachedSLEs cachedSLEs_
std::unique_ptr< NetworkIDServicenetworkIDService_
std::optional< std::pair< PublicKey, SecretKey > > nodeIdentity_
ValidatorKeys const validatorKeys_
std::unique_ptr< Resource::ManagerresourceManager_
std::unique_ptr< NodeStore::DatabasenodeStore_
NodeFamily nodeFamily_
std::unique_ptr< OrderBookDBorderBookDB_
std::unique_ptr< PathRequestManagerpathRequestManager_
std::unique_ptr< LedgerMasterledgerMaster_
std::unique_ptr< LedgerCleanerledgerCleaner_
std::unique_ptr< InboundLedgersinboundLedgers_
std::unique_ptr< InboundTransactionsinboundTransactions_
std::unique_ptr< LedgerReplayerledgerReplayer_
TaggedCache< uint256, AcceptedLedgeracceptedLedgerCache_
std::unique_ptr< NetworkOPsnetworkOPs_
std::unique_ptr< Clustercluster_
std::unique_ptr< PeerReservationTablepeerReservations_
std::unique_ptr< ManifestCachevalidatorManifests_
std::unique_ptr< ManifestCachepublisherManifests_
std::unique_ptr< ValidatorListvalidators_
std::unique_ptr< ValidatorSitevalidatorSites_
std::unique_ptr< ServerHandlerserverHandler_
std::unique_ptr< AmendmentTableamendmentTable_
std::unique_ptr< LoadFeeTrackfeeTrack_
std::unique_ptr< HashRouterhashRouter_
RCLValidations validations_
std::unique_ptr< LoadManagerloadManager_
std::unique_ptr< TxQtxQ_
ClosureCounter< void, boost::system::error_code const & > waitHandlerCounter_
boost::asio::steady_timer sweepTimer_
boost::asio::steady_timer entropyTimer_
std::optional< SQLiteDatabaserelationalDatabase_
std::unique_ptr< DatabaseConwalletDB_
std::unique_ptr< Overlayoverlay_
std::optional< uint256trapTxID_
boost::asio::signal_set signals_
std::atomic_flag isTimeToStop
std::atomic< bool > checkSigs_
std::unique_ptr< ResolverAsioresolver_
IOLatencySampler io_latency_sampler_
std::unique_ptr< GRPCServergrpcServer_

Private Member Functions

void startGenesisLedger ()
std::shared_ptr< LedgergetLastFullLedger ()
std::shared_ptr< LedgerloadLedgerFromFile (std::string const &ledgerID)
bool loadOldLedger (std::string const &ledgerID, bool replay, bool isFilename, std::optional< uint256 > trapTxID)
void setMaxDisallowedLedger ()
ApplicationgetApp () override

Private Attributes

std::atomic< LedgerIndexmaxDisallowedLedger_ {0}
std::string const name_
std::recursive_mutex lock_
Item item_
Sourceparent_ {nullptr}
List< Item > children_
std::optional< boost::asio::executor_work_guard< boost::asio::io_context::executor_type > > work_
std::vector< std::threadthreads_
boost::asio::io_context ioContext_

Detailed Description

Definition at line 141 of file Application.cpp.

Member Typedef Documentation

◆ MutexType

Definition at line 99 of file Application.h.

Constructor & Destructor Documentation

◆ ApplicationImp()

xrpl::ApplicationImp::ApplicationImp ( std::unique_ptr< Config > config,
std::unique_ptr< Logs > logs,
std::unique_ptr< TimeKeeper > timeKeeper )

Definition at line 306 of file Application.cpp.

Member Function Documentation

◆ numberOfThreads()

std::size_t xrpl::ApplicationImp::numberOfThreads ( Config const & config)
static

Definition at line 283 of file Application.cpp.

◆ setup()

bool xrpl::ApplicationImp::setup ( boost::program_options::variables_map const & cmdline)
overridevirtual

Implements xrpl::Application.

Definition at line 1151 of file Application.cpp.

◆ start()

void xrpl::ApplicationImp::start ( bool withTimers)
overridevirtual

Implements xrpl::Application.

Definition at line 1489 of file Application.cpp.

◆ run()

void xrpl::ApplicationImp::run ( )
overridevirtual

Implements xrpl::Application.

Definition at line 1514 of file Application.cpp.

◆ signalStop()

void xrpl::ApplicationImp::signalStop ( std::string const & msg)
overridevirtual

Implements xrpl::Application.

Definition at line 1606 of file Application.cpp.

◆ checkSigs() [1/2]

bool xrpl::ApplicationImp::checkSigs ( ) const
overridevirtual

Implements xrpl::Application.

Definition at line 1624 of file Application.cpp.

◆ checkSigs() [2/2]

void xrpl::ApplicationImp::checkSigs ( bool check)
overridevirtual

Implements xrpl::Application.

Definition at line 1630 of file Application.cpp.

◆ isStopping()

bool xrpl::ApplicationImp::isStopping ( ) const
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 1636 of file Application.cpp.

◆ fdRequired()

int xrpl::ApplicationImp::fdRequired ( ) const
overridevirtual

Implements xrpl::Application.

Definition at line 1642 of file Application.cpp.

◆ instanceID()

std::uint64_t xrpl::ApplicationImp::instanceID ( ) const
overridevirtual

Returns a 64-bit instance identifier, generated at startup.

Implements xrpl::Application.

Definition at line 509 of file Application.cpp.

◆ getLogs()

Logs & xrpl::ApplicationImp::getLogs ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 515 of file Application.cpp.

◆ config()

Config & xrpl::ApplicationImp::config ( )
overridevirtual

Implements xrpl::Application.

Definition at line 521 of file Application.cpp.

◆ getCollectorManager()

CollectorManager & xrpl::ApplicationImp::getCollectorManager ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 527 of file Application.cpp.

◆ getNodeFamily()

Family & xrpl::ApplicationImp::getNodeFamily ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 533 of file Application.cpp.

◆ getTimeKeeper()

TimeKeeper & xrpl::ApplicationImp::getTimeKeeper ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 539 of file Application.cpp.

◆ getJobQueue()

JobQueue & xrpl::ApplicationImp::getJobQueue ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 545 of file Application.cpp.

◆ nodeIdentity()

std::pair< PublicKey, SecretKey > const & xrpl::ApplicationImp::nodeIdentity ( )
overridevirtual

Implements xrpl::Application.

Definition at line 551 of file Application.cpp.

◆ getValidationPublicKey()

std::optional< PublicKey const > xrpl::ApplicationImp::getValidationPublicKey ( ) const
overridevirtual

Implements xrpl::Application.

Definition at line 560 of file Application.cpp.

◆ getOPs()

NetworkOPs & xrpl::ApplicationImp::getOPs ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 569 of file Application.cpp.

◆ getServerHandler()

ServerHandler & xrpl::ApplicationImp::getServerHandler ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 575 of file Application.cpp.

◆ getIOContext()

boost::asio::io_context & xrpl::ApplicationImp::getIOContext ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 585 of file Application.cpp.

◆ getIOLatency()

std::chrono::milliseconds xrpl::ApplicationImp::getIOLatency ( )
overridevirtual

Implements xrpl::Application.

Definition at line 591 of file Application.cpp.

◆ getLedgerMaster()

LedgerMaster & xrpl::ApplicationImp::getLedgerMaster ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 597 of file Application.cpp.

◆ getLedgerCleaner()

LedgerCleaner & xrpl::ApplicationImp::getLedgerCleaner ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 603 of file Application.cpp.

◆ getLedgerReplayer()

LedgerReplayer & xrpl::ApplicationImp::getLedgerReplayer ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 609 of file Application.cpp.

◆ getInboundLedgers()

InboundLedgers & xrpl::ApplicationImp::getInboundLedgers ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 615 of file Application.cpp.

◆ getInboundTransactions()

InboundTransactions & xrpl::ApplicationImp::getInboundTransactions ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 621 of file Application.cpp.

◆ getAcceptedLedgerCache()

TaggedCache< uint256, AcceptedLedger > & xrpl::ApplicationImp::getAcceptedLedgerCache ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 627 of file Application.cpp.

◆ gotTXSet()

void xrpl::ApplicationImp::gotTXSet ( std::shared_ptr< SHAMap > const & set,
bool fromAcquire ) const

Definition at line 633 of file Application.cpp.

◆ getMasterTransaction()

TransactionMaster & xrpl::ApplicationImp::getMasterTransaction ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 640 of file Application.cpp.

◆ getPerfLog()

perf::PerfLog & xrpl::ApplicationImp::getPerfLog ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 646 of file Application.cpp.

◆ getTempNodeCache()

NodeCache & xrpl::ApplicationImp::getTempNodeCache ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 652 of file Application.cpp.

◆ getNodeStore()

NodeStore::Database & xrpl::ApplicationImp::getNodeStore ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 658 of file Application.cpp.

◆ getMasterMutex()

Application::MutexType & xrpl::ApplicationImp::getMasterMutex ( )
overridevirtual

Implements xrpl::Application.

Definition at line 664 of file Application.cpp.

◆ getLoadManager()

LoadManager & xrpl::ApplicationImp::getLoadManager ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 670 of file Application.cpp.

◆ getResourceManager()

Resource::Manager & xrpl::ApplicationImp::getResourceManager ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 676 of file Application.cpp.

◆ getOrderBookDB()

OrderBookDB & xrpl::ApplicationImp::getOrderBookDB ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 682 of file Application.cpp.

◆ getPathRequestManager()

PathRequestManager & xrpl::ApplicationImp::getPathRequestManager ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 688 of file Application.cpp.

◆ getCachedSLEs()

CachedSLEs & xrpl::ApplicationImp::getCachedSLEs ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 694 of file Application.cpp.

◆ getNetworkIDService()

NetworkIDService & xrpl::ApplicationImp::getNetworkIDService ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 700 of file Application.cpp.

◆ getAmendmentTable()

AmendmentTable & xrpl::ApplicationImp::getAmendmentTable ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 706 of file Application.cpp.

◆ getFeeTrack()

LoadFeeTrack & xrpl::ApplicationImp::getFeeTrack ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 712 of file Application.cpp.

◆ getHashRouter()

HashRouter & xrpl::ApplicationImp::getHashRouter ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 718 of file Application.cpp.

◆ getValidations()

RCLValidations & xrpl::ApplicationImp::getValidations ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 724 of file Application.cpp.

◆ getValidators()

ValidatorList & xrpl::ApplicationImp::getValidators ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 730 of file Application.cpp.

◆ getValidatorSites()

ValidatorSite & xrpl::ApplicationImp::getValidatorSites ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 736 of file Application.cpp.

◆ getValidatorManifests()

ManifestCache & xrpl::ApplicationImp::getValidatorManifests ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 742 of file Application.cpp.

◆ getPublisherManifests()

ManifestCache & xrpl::ApplicationImp::getPublisherManifests ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 748 of file Application.cpp.

◆ getCluster()

Cluster & xrpl::ApplicationImp::getCluster ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 754 of file Application.cpp.

◆ getPeerReservations()

PeerReservationTable & xrpl::ApplicationImp::getPeerReservations ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 760 of file Application.cpp.

◆ getSHAMapStore()

SHAMapStore & xrpl::ApplicationImp::getSHAMapStore ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 766 of file Application.cpp.

◆ getPendingSaves()

PendingSaves & xrpl::ApplicationImp::getPendingSaves ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 772 of file Application.cpp.

◆ getOpenLedger() [1/2]

OpenLedger & xrpl::ApplicationImp::getOpenLedger ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 778 of file Application.cpp.

◆ getOpenLedger() [2/2]

OpenLedger const & xrpl::ApplicationImp::getOpenLedger ( ) const
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 785 of file Application.cpp.

◆ getOverlay()

Overlay & xrpl::ApplicationImp::getOverlay ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 792 of file Application.cpp.

◆ getTxQ()

TxQ & xrpl::ApplicationImp::getTxQ ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 799 of file Application.cpp.

◆ getRelationalDatabase()

RelationalDatabase & xrpl::ApplicationImp::getRelationalDatabase ( )
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 806 of file Application.cpp.

◆ getWalletDB()

DatabaseCon & xrpl::ApplicationImp::getWalletDB ( )
overridevirtual

Retrieve the "wallet database".

Implements xrpl::ServiceRegistry.

Definition at line 815 of file Application.cpp.

◆ serverOkay()

bool xrpl::ApplicationImp::serverOkay ( std::string & reason)
overridevirtual

Implements xrpl::Application.

Definition at line 2087 of file Application.cpp.

◆ getJournal()

beast::Journal xrpl::ApplicationImp::getJournal ( std::string const & name)
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 2135 of file Application.cpp.

◆ initRelationalDatabase()

bool xrpl::ApplicationImp::initRelationalDatabase ( )

Definition at line 830 of file Application.cpp.

◆ initNodeStore()

bool xrpl::ApplicationImp::initNodeStore ( ) const

Definition at line 857 of file Application.cpp.

◆ onWrite()

void xrpl::ApplicationImp::onWrite ( beast::PropertyStream::Map & )
overridevirtual

Subclass override.

The default version does nothing.

Reimplemented from beast::PropertyStream::Source.

Definition at line 893 of file Application.cpp.

◆ setSweepTimer()

void xrpl::ApplicationImp::setSweepTimer ( )

Definition at line 900 of file Application.cpp.

◆ setEntropyTimer()

void xrpl::ApplicationImp::setEntropyTimer ( )

Definition at line 929 of file Application.cpp.

◆ doSweep()

void xrpl::ApplicationImp::doSweep ( )

Definition at line 957 of file Application.cpp.

◆ getMaxDisallowedLedger()

LedgerIndex xrpl::ApplicationImp::getMaxDisallowedLedger ( )
overridevirtual

Ensure that a newly-started validator does not sign proposals older than the last ledger it persisted.

Implements xrpl::Application.

Definition at line 1099 of file Application.cpp.

◆ getTrapTxID()

std::optional< uint256 > const & xrpl::ApplicationImp::getTrapTxID ( ) const
overridevirtual

Implements xrpl::ServiceRegistry.

Definition at line 1105 of file Application.cpp.

◆ getNumberOfThreads()

size_t xrpl::ApplicationImp::getNumberOfThreads ( ) const
overridevirtual

Returns the number of io_context (I/O worker) threads used by the application.

Implements xrpl::Application.

Definition at line 1111 of file Application.cpp.

◆ startGenesisLedger()

void xrpl::ApplicationImp::startGenesisLedger ( )
private

Definition at line 1667 of file Application.cpp.

◆ getLastFullLedger()

std::shared_ptr< Ledger > xrpl::ApplicationImp::getLastFullLedger ( )
private

Definition at line 1693 of file Application.cpp.

◆ loadLedgerFromFile()

std::shared_ptr< Ledger > xrpl::ApplicationImp::loadLedgerFromFile ( std::string const & ledgerID)
private

Definition at line 1737 of file Application.cpp.

◆ loadOldLedger()

bool xrpl::ApplicationImp::loadOldLedger ( std::string const & ledgerID,
bool replay,
bool isFilename,
std::optional< uint256 > trapTxID )
private

Definition at line 1872 of file Application.cpp.

◆ setMaxDisallowedLedger()

void xrpl::ApplicationImp::setMaxDisallowedLedger ( )
private

Definition at line 2141 of file Application.cpp.

◆ getApp()

Application & xrpl::ApplicationImp::getApp ( )
overrideprivatevirtual

Implements xrpl::ServiceRegistry.

Definition at line 1141 of file Application.cpp.

◆ name()

std::string const & beast::PropertyStream::Source::name ( ) const
nodiscardinherited

Returns the name of this source.

Definition at line 168 of file beast_PropertyStream.cpp.

◆ add() [1/2]

void beast::PropertyStream::Source::add ( Source & source)
inherited

Add a child source.

Definition at line 174 of file beast_PropertyStream.cpp.

◆ add() [2/2]

template<class Derived>
Derived * beast::PropertyStream::Source::add ( Derived * child)
inherited

Add a child source by pointer.

The source pointer is returned so it can be used in ctor-initializers.

Definition at line 338 of file PropertyStream.h.

◆ remove()

void beast::PropertyStream::Source::remove ( Source & child)
inherited

Remove a child source from this Source.

Definition at line 185 of file beast_PropertyStream.cpp.

◆ removeAll()

void beast::PropertyStream::Source::removeAll ( )
inherited

Remove all child sources from this Source.

Definition at line 196 of file beast_PropertyStream.cpp.

◆ writeOne()

void beast::PropertyStream::Source::writeOne ( PropertyStream & stream)
inherited

Write only this Source to the stream.

Definition at line 209 of file beast_PropertyStream.cpp.

◆ write() [1/2]

void beast::PropertyStream::Source::write ( PropertyStream & stream)
inherited

write this source and all its children recursively to the stream.

Definition at line 216 of file beast_PropertyStream.cpp.

◆ write() [2/2]

void beast::PropertyStream::Source::write ( PropertyStream & stream,
std::string const & path )
inherited

Parse the path and write the corresponding Source and optional children.

If the source is found, it is written. If the wildcard character '*' exists as the last character in the path, then all the children are written recursively.

Definition at line 228 of file beast_PropertyStream.cpp.

◆ find()

std::pair< PropertyStream::Source *, bool > beast::PropertyStream::Source::find ( std::string path)
inherited

Parse the dot-delimited Source path and return the result.

The first value will be a pointer to the Source object corresponding to the given path. If no Source object exists, then the first value will be nullptr and the second value will be undefined. The second value is a boolean indicating whether or not the path string specifies the wildcard character '*' as the last character.

print statement examples "parent.child" prints child and all of its children "parent.child." start at the parent and print down to child "parent.grandchild" prints nothing- grandchild not direct descendent "parent.grandchild." starts at the parent and prints down to grandchild "parent.grandchild.*" starts at parent, print through grandchild children

Definition at line 246 of file beast_PropertyStream.cpp.

◆ findOneDeep()

PropertyStream::Source * beast::PropertyStream::Source::findOneDeep ( std::string const & name)
inherited

Definition at line 317 of file beast_PropertyStream.cpp.

◆ findPath()

PropertyStream::Source * beast::PropertyStream::Source::findPath ( std::string path)
inherited

Definition at line 334 of file beast_PropertyStream.cpp.

◆ findOne()

PropertyStream::Source * beast::PropertyStream::Source::findOne ( std::string const & name)
inherited

Definition at line 352 of file beast_PropertyStream.cpp.

◆ peelLeadingSlash()

bool beast::PropertyStream::Source::peelLeadingSlash ( std::string * path)
staticinherited

Definition at line 266 of file beast_PropertyStream.cpp.

◆ peelTrailingSlashstar()

bool beast::PropertyStream::Source::peelTrailingSlashstar ( std::string * path)
staticinherited

Definition at line 277 of file beast_PropertyStream.cpp.

◆ peelName()

std::string beast::PropertyStream::Source::peelName ( std::string * path)
staticinherited

Definition at line 293 of file beast_PropertyStream.cpp.

◆ getIoContext()

boost::asio::io_context & BasicApp::getIoContext ( )
inherited

Definition at line 22 of file BasicApp.h.

Member Data Documentation

◆ config_

std::unique_ptr<Config> xrpl::ApplicationImp::config_

Definition at line 206 of file Application.cpp.

◆ logs_

std::unique_ptr<Logs> xrpl::ApplicationImp::logs_

Definition at line 207 of file Application.cpp.

◆ timeKeeper_

std::unique_ptr<TimeKeeper> xrpl::ApplicationImp::timeKeeper_

Definition at line 208 of file Application.cpp.

◆ instanceCookie_

std::uint64_t const xrpl::ApplicationImp::instanceCookie_

Definition at line 210 of file Application.cpp.

◆ journal_

beast::Journal xrpl::ApplicationImp::journal_

Definition at line 212 of file Application.cpp.

◆ perfLog_

std::unique_ptr<perf::PerfLog> xrpl::ApplicationImp::perfLog_

Definition at line 213 of file Application.cpp.

◆ masterMutex_

Application::MutexType xrpl::ApplicationImp::masterMutex_

Definition at line 214 of file Application.cpp.

◆ txMaster_

TransactionMaster xrpl::ApplicationImp::txMaster_

Definition at line 217 of file Application.cpp.

◆ collectorManager_

std::unique_ptr<CollectorManager> xrpl::ApplicationImp::collectorManager_

Definition at line 219 of file Application.cpp.

◆ jobQueue_

std::unique_ptr<JobQueue> xrpl::ApplicationImp::jobQueue_

Definition at line 220 of file Application.cpp.

◆ nodeStoreScheduler_

NodeStoreScheduler xrpl::ApplicationImp::nodeStoreScheduler_

Definition at line 221 of file Application.cpp.

◆ shaMapStore_

std::unique_ptr<SHAMapStore> xrpl::ApplicationImp::shaMapStore_

Definition at line 222 of file Application.cpp.

◆ pendingSaves_

PendingSaves xrpl::ApplicationImp::pendingSaves_

Definition at line 223 of file Application.cpp.

◆ openLedger_

std::optional<OpenLedger> xrpl::ApplicationImp::openLedger_

Definition at line 224 of file Application.cpp.

◆ tempNodeCache_

NodeCache xrpl::ApplicationImp::tempNodeCache_

Definition at line 226 of file Application.cpp.

◆ cachedSLEs_

CachedSLEs xrpl::ApplicationImp::cachedSLEs_

Definition at line 227 of file Application.cpp.

◆ networkIDService_

std::unique_ptr<NetworkIDService> xrpl::ApplicationImp::networkIDService_

Definition at line 228 of file Application.cpp.

◆ nodeIdentity_

std::optional<std::pair<PublicKey, SecretKey> > xrpl::ApplicationImp::nodeIdentity_

Definition at line 229 of file Application.cpp.

◆ validatorKeys_

ValidatorKeys const xrpl::ApplicationImp::validatorKeys_

Definition at line 230 of file Application.cpp.

◆ resourceManager_

std::unique_ptr<Resource::Manager> xrpl::ApplicationImp::resourceManager_

Definition at line 232 of file Application.cpp.

◆ nodeStore_

std::unique_ptr<NodeStore::Database> xrpl::ApplicationImp::nodeStore_

Definition at line 234 of file Application.cpp.

◆ nodeFamily_

NodeFamily xrpl::ApplicationImp::nodeFamily_

Definition at line 235 of file Application.cpp.

◆ orderBookDB_

std::unique_ptr<OrderBookDB> xrpl::ApplicationImp::orderBookDB_

Definition at line 236 of file Application.cpp.

◆ pathRequestManager_

std::unique_ptr<PathRequestManager> xrpl::ApplicationImp::pathRequestManager_

Definition at line 237 of file Application.cpp.

◆ ledgerMaster_

std::unique_ptr<LedgerMaster> xrpl::ApplicationImp::ledgerMaster_

Definition at line 238 of file Application.cpp.

◆ ledgerCleaner_

std::unique_ptr<LedgerCleaner> xrpl::ApplicationImp::ledgerCleaner_

Definition at line 239 of file Application.cpp.

◆ inboundLedgers_

std::unique_ptr<InboundLedgers> xrpl::ApplicationImp::inboundLedgers_

Definition at line 240 of file Application.cpp.

◆ inboundTransactions_

std::unique_ptr<InboundTransactions> xrpl::ApplicationImp::inboundTransactions_

Definition at line 241 of file Application.cpp.

◆ ledgerReplayer_

std::unique_ptr<LedgerReplayer> xrpl::ApplicationImp::ledgerReplayer_

Definition at line 242 of file Application.cpp.

◆ acceptedLedgerCache_

TaggedCache<uint256, AcceptedLedger> xrpl::ApplicationImp::acceptedLedgerCache_

Definition at line 243 of file Application.cpp.

◆ networkOPs_

std::unique_ptr<NetworkOPs> xrpl::ApplicationImp::networkOPs_

Definition at line 244 of file Application.cpp.

◆ cluster_

std::unique_ptr<Cluster> xrpl::ApplicationImp::cluster_

Definition at line 245 of file Application.cpp.

◆ peerReservations_

std::unique_ptr<PeerReservationTable> xrpl::ApplicationImp::peerReservations_

Definition at line 246 of file Application.cpp.

◆ validatorManifests_

std::unique_ptr<ManifestCache> xrpl::ApplicationImp::validatorManifests_

Definition at line 247 of file Application.cpp.

◆ publisherManifests_

std::unique_ptr<ManifestCache> xrpl::ApplicationImp::publisherManifests_

Definition at line 248 of file Application.cpp.

◆ validators_

std::unique_ptr<ValidatorList> xrpl::ApplicationImp::validators_

Definition at line 249 of file Application.cpp.

◆ validatorSites_

std::unique_ptr<ValidatorSite> xrpl::ApplicationImp::validatorSites_

Definition at line 250 of file Application.cpp.

◆ serverHandler_

std::unique_ptr<ServerHandler> xrpl::ApplicationImp::serverHandler_

Definition at line 251 of file Application.cpp.

◆ amendmentTable_

std::unique_ptr<AmendmentTable> xrpl::ApplicationImp::amendmentTable_

Definition at line 252 of file Application.cpp.

◆ feeTrack_

std::unique_ptr<LoadFeeTrack> xrpl::ApplicationImp::feeTrack_

Definition at line 253 of file Application.cpp.

◆ hashRouter_

std::unique_ptr<HashRouter> xrpl::ApplicationImp::hashRouter_

Definition at line 254 of file Application.cpp.

◆ validations_

RCLValidations xrpl::ApplicationImp::validations_

Definition at line 255 of file Application.cpp.

◆ loadManager_

std::unique_ptr<LoadManager> xrpl::ApplicationImp::loadManager_

Definition at line 256 of file Application.cpp.

◆ txQ_

std::unique_ptr<TxQ> xrpl::ApplicationImp::txQ_

Definition at line 257 of file Application.cpp.

◆ waitHandlerCounter_

ClosureCounter<void, boost::system::error_code const&> xrpl::ApplicationImp::waitHandlerCounter_

Definition at line 258 of file Application.cpp.

◆ sweepTimer_

boost::asio::steady_timer xrpl::ApplicationImp::sweepTimer_

Definition at line 259 of file Application.cpp.

◆ entropyTimer_

boost::asio::steady_timer xrpl::ApplicationImp::entropyTimer_

Definition at line 260 of file Application.cpp.

◆ relationalDatabase_

std::optional<SQLiteDatabase> xrpl::ApplicationImp::relationalDatabase_

Definition at line 262 of file Application.cpp.

◆ walletDB_

std::unique_ptr<DatabaseCon> xrpl::ApplicationImp::walletDB_

Definition at line 263 of file Application.cpp.

◆ overlay_

std::unique_ptr<Overlay> xrpl::ApplicationImp::overlay_

Definition at line 264 of file Application.cpp.

◆ trapTxID_

std::optional<uint256> xrpl::ApplicationImp::trapTxID_

Definition at line 265 of file Application.cpp.

◆ signals_

boost::asio::signal_set xrpl::ApplicationImp::signals_

Definition at line 267 of file Application.cpp.

◆ isTimeToStop

std::atomic_flag xrpl::ApplicationImp::isTimeToStop

Definition at line 269 of file Application.cpp.

◆ checkSigs_

std::atomic<bool> xrpl::ApplicationImp::checkSigs_

Definition at line 271 of file Application.cpp.

◆ resolver_

std::unique_ptr<ResolverAsio> xrpl::ApplicationImp::resolver_

Definition at line 273 of file Application.cpp.

◆ io_latency_sampler_

IOLatencySampler xrpl::ApplicationImp::io_latency_sampler_

Definition at line 275 of file Application.cpp.

◆ grpcServer_

std::unique_ptr<GRPCServer> xrpl::ApplicationImp::grpcServer_

Definition at line 277 of file Application.cpp.

◆ maxDisallowedLedger_

std::atomic<LedgerIndex> xrpl::ApplicationImp::maxDisallowedLedger_ {0}
private

Definition at line 1119 of file Application.cpp.

◆ name_

std::string const beast::PropertyStream::Source::name_
privateinherited

Definition at line 311 of file PropertyStream.h.

◆ lock_

std::recursive_mutex beast::PropertyStream::Source::lock_
privateinherited

Definition at line 312 of file PropertyStream.h.

◆ item_

Item beast::PropertyStream::Source::item_
privateinherited

Definition at line 313 of file PropertyStream.h.

◆ parent_

Source* beast::PropertyStream::Source::parent_ {nullptr}
privateinherited

Definition at line 314 of file PropertyStream.h.

◆ children_

List<Item> beast::PropertyStream::Source::children_
privateinherited

Definition at line 315 of file PropertyStream.h.

◆ work_

std::optional<boost::asio::executor_work_guard<boost::asio::io_context::executor_type> > BasicApp::work_
privateinherited

Definition at line 13 of file BasicApp.h.

◆ threads_

std::vector<std::thread> BasicApp::threads_
privateinherited

Definition at line 14 of file BasicApp.h.

◆ ioContext_

boost::asio::io_context BasicApp::ioContext_
privateinherited

Definition at line 15 of file BasicApp.h.