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.
Logs & getLogs () override
Config & config () override
CollectorManager & getCollectorManager () override
Family & getNodeFamily () override
TimeKeeper & getTimeKeeper () override
JobQueue & getJobQueue () override
std::pair< PublicKey, SecretKey > const & nodeIdentity () override
std::optional< PublicKey const > getValidationPublicKey () const override
NetworkOPs & getOPs () override
ServerHandler & getServerHandler () override
boost::asio::io_context & getIOContext () override
std::chrono::milliseconds getIOLatency () override
LedgerMaster & getLedgerMaster () override
LedgerCleaner & getLedgerCleaner () override
LedgerReplayer & getLedgerReplayer () override
InboundLedgers & getInboundLedgers () override
InboundTransactions & getInboundTransactions () override
TaggedCache< UInt256, AcceptedLedger > & getAcceptedLedgerCache () override
void gotTXSet (std::shared_ptr< SHAMap > const &set, bool fromAcquire) const
TransactionMaster & getMasterTransaction () override
perf::PerfLog & getPerfLog () override
NodeCache & getTempNodeCache () override
node_store::Database & getNodeStore () override
Application::MutexType & getMasterMutex () override
LoadManager & getLoadManager () override
resource::Manager & getResourceManager () override
OrderBookDB & getOrderBookDB () override
PathRequestManager & getPathRequestManager () override
CachedSLEs & getCachedSLEs () override
NetworkIDService & getNetworkIDService () override
AmendmentTable & getAmendmentTable () override
LoadFeeTrack & getFeeTrack () override
HashRouter & getHashRouter () override
RCLValidations & getValidations () override
ValidatorList & getValidators () override
ValidatorSite & getValidatorSites () override
ManifestCache & getValidatorManifests () override
ManifestCache & getPublisherManifests () override
Cluster & getCluster () override
PeerReservationTable & getPeerReservations () override
SHAMapStore & getSHAMapStore () override
PendingSaves & getPendingSaves () override
OpenLedger & getOpenLedger () override
OpenLedger const & getOpenLedger () const override
Overlay & getOverlay () override
TxQ & getTxQ () override
RelationalDatabase & getRelationalDatabase () override
DatabaseCon & getWalletDB () 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.
Source * findOneDeep (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< Config > config_
std::unique_ptr< Logs > logs_
std::unique_ptr< TimeKeeper > timeKeeper_
std::uint64_t const instanceCookie_
beast::Journal journal_
std::unique_ptr< perf::PerfLog > perfLog_
Application::MutexType masterMutex_
TransactionMaster txMaster_
std::unique_ptr< CollectorManager > collectorManager_
std::unique_ptr< JobQueue > jobQueue_
NodeStoreScheduler nodeStoreScheduler_
std::unique_ptr< SHAMapStore > shaMapStore_
PendingSaves pendingSaves_
std::optional< OpenLedger > openLedger_
NodeCache tempNodeCache_
CachedSLEs cachedSLEs_
std::unique_ptr< NetworkIDService > networkIDService_
std::optional< std::pair< PublicKey, SecretKey > > nodeIdentity_
ValidatorKeys const validatorKeys_
std::unique_ptr< resource::Manager > resourceManager_
std::unique_ptr< node_store::Database > nodeStore_
NodeFamily nodeFamily_
std::unique_ptr< OrderBookDB > orderBookDB_
std::unique_ptr< PathRequestManager > pathRequestManager_
std::unique_ptr< LedgerMaster > ledgerMaster_
std::unique_ptr< LedgerCleaner > ledgerCleaner_
std::unique_ptr< InboundLedgers > inboundLedgers_
std::unique_ptr< InboundTransactions > inboundTransactions_
std::unique_ptr< LedgerReplayer > ledgerReplayer_
TaggedCache< UInt256, AcceptedLedger > acceptedLedgerCache_
std::unique_ptr< NetworkOPs > networkOPs_
std::unique_ptr< Cluster > cluster_
std::unique_ptr< PeerReservationTable > peerReservations_
std::unique_ptr< ManifestCache > validatorManifests_
std::unique_ptr< ManifestCache > publisherManifests_
std::unique_ptr< ValidatorList > validators_
std::unique_ptr< ValidatorSite > validatorSites_
std::unique_ptr< ServerHandler > serverHandler_
std::unique_ptr< AmendmentTable > amendmentTable_
std::unique_ptr< LoadFeeTrack > feeTrack_
std::unique_ptr< HashRouter > hashRouter_
RCLValidations validations_
std::unique_ptr< LoadManager > loadManager_
std::unique_ptr< TxQ > txQ_
ClosureCounter< void, boost::system::error_code const & > waitHandlerCounter_
boost::asio::steady_timer sweepTimer_
boost::asio::steady_timer entropyTimer_
std::optional< SQLiteDatabase > relationalDatabase_
std::unique_ptr< DatabaseCon > walletDB_
std::unique_ptr< Overlay > overlay_
std::optional< UInt256 > trapTxID_
boost::asio::signal_set signals_
std::atomic_flag isTimeToStop
std::atomic< bool > checkSigs_
std::unique_ptr< ResolverAsio > resolver_
IOLatencySampler io_latency_sampler_
std::unique_ptr< GRPCServer > grpcServer_

Private Member Functions

void startGenesisLedger ()
std::shared_ptr< Ledger > getLastFullLedger ()
std::shared_ptr< Ledger > loadLedgerFromFile (std::string const &ledgerID)
bool loadOldLedger (std::string const &ledgerID, bool replay, bool isFilename, std::optional< UInt256 > trapTxID)
void setMaxDisallowedLedger ()
Application & getApp () override

Private Attributes

std::atomic< LedgerIndex > maxDisallowedLedger_ {0}
std::string const name_
std::recursive_mutex lock_
Item item_
Source * parent_ {nullptr}
List< Item > children_
std::optional< boost::asio::executor_work_guard< boost::asio::io_context::executor_type > > work_
std::vector< std::thread > threads_
boost::asio::io_context ioContext_

Detailed Description

Definition at line 145 of file Application.cpp.

Member Typedef Documentation

◆ MutexType

Definition at line 107 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 310 of file Application.cpp.

Member Function Documentation

◆ numberOfThreads()

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

Definition at line 287 of file Application.cpp.

◆ setup()

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

Implements xrpl::Application.

Definition at line 1162 of file Application.cpp.

◆ start()

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

Implements xrpl::Application.

Definition at line 1509 of file Application.cpp.

◆ run()

void xrpl::ApplicationImp::run ( )
overridevirtual

Implements xrpl::Application.

Definition at line 1534 of file Application.cpp.

◆ signalStop()

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

Implements xrpl::Application.

Definition at line 1626 of file Application.cpp.

◆ checkSigs() [1/2]

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

Implements xrpl::Application.

Definition at line 1644 of file Application.cpp.

◆ checkSigs() [2/2]

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

Implements xrpl::Application.

Definition at line 1650 of file Application.cpp.

◆ isStopping()

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

Implements xrpl::ServiceRegistry.

Definition at line 1656 of file Application.cpp.

◆ fdRequired()

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

Implements xrpl::Application.

Definition at line 1662 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 520 of file Application.cpp.

◆ getLogs()

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

Implements xrpl::ServiceRegistry.

Definition at line 526 of file Application.cpp.

◆ config()

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

Implements xrpl::Application.

Definition at line 532 of file Application.cpp.

◆ getCollectorManager()

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

Implements xrpl::ServiceRegistry.

Definition at line 538 of file Application.cpp.

◆ getNodeFamily()

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

Implements xrpl::ServiceRegistry.

Definition at line 544 of file Application.cpp.

◆ getTimeKeeper()

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

Implements xrpl::ServiceRegistry.

Definition at line 550 of file Application.cpp.

◆ getJobQueue()

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

Implements xrpl::ServiceRegistry.

Definition at line 556 of file Application.cpp.

◆ nodeIdentity()

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

Implements xrpl::Application.

Definition at line 562 of file Application.cpp.

◆ getValidationPublicKey()

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

Implements xrpl::Application.

Definition at line 571 of file Application.cpp.

◆ getOPs()

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

Implements xrpl::ServiceRegistry.

Definition at line 580 of file Application.cpp.

◆ getServerHandler()

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

Implements xrpl::ServiceRegistry.

Definition at line 586 of file Application.cpp.

◆ getIOContext()

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

Implements xrpl::ServiceRegistry.

Definition at line 596 of file Application.cpp.

◆ getIOLatency()

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

Implements xrpl::Application.

Definition at line 602 of file Application.cpp.

◆ getLedgerMaster()

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

Implements xrpl::ServiceRegistry.

Definition at line 608 of file Application.cpp.

◆ getLedgerCleaner()

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

Implements xrpl::ServiceRegistry.

Definition at line 614 of file Application.cpp.

◆ getLedgerReplayer()

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

Implements xrpl::ServiceRegistry.

Definition at line 620 of file Application.cpp.

◆ getInboundLedgers()

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

Implements xrpl::ServiceRegistry.

Definition at line 626 of file Application.cpp.

◆ getInboundTransactions()

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

Implements xrpl::ServiceRegistry.

Definition at line 632 of file Application.cpp.

◆ getAcceptedLedgerCache()

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

Implements xrpl::ServiceRegistry.

Definition at line 638 of file Application.cpp.

◆ gotTXSet()

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

Definition at line 644 of file Application.cpp.

◆ getMasterTransaction()

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

Implements xrpl::ServiceRegistry.

Definition at line 651 of file Application.cpp.

◆ getPerfLog()

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

Implements xrpl::ServiceRegistry.

Definition at line 657 of file Application.cpp.

◆ getTempNodeCache()

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

Implements xrpl::ServiceRegistry.

Definition at line 663 of file Application.cpp.

◆ getNodeStore()

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

Implements xrpl::ServiceRegistry.

Definition at line 669 of file Application.cpp.

◆ getMasterMutex()

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

Implements xrpl::Application.

Definition at line 675 of file Application.cpp.

◆ getLoadManager()

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

Implements xrpl::ServiceRegistry.

Definition at line 681 of file Application.cpp.

◆ getResourceManager()

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

Implements xrpl::ServiceRegistry.

Definition at line 687 of file Application.cpp.

◆ getOrderBookDB()

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

Implements xrpl::ServiceRegistry.

Definition at line 693 of file Application.cpp.

◆ getPathRequestManager()

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

Implements xrpl::ServiceRegistry.

Definition at line 699 of file Application.cpp.

◆ getCachedSLEs()

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

Implements xrpl::ServiceRegistry.

Definition at line 705 of file Application.cpp.

◆ getNetworkIDService()

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

Implements xrpl::ServiceRegistry.

Definition at line 711 of file Application.cpp.

◆ getAmendmentTable()

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

Implements xrpl::ServiceRegistry.

Definition at line 717 of file Application.cpp.

◆ getFeeTrack()

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

Implements xrpl::ServiceRegistry.

Definition at line 723 of file Application.cpp.

◆ getHashRouter()

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

Implements xrpl::ServiceRegistry.

Definition at line 729 of file Application.cpp.

◆ getValidations()

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

Implements xrpl::ServiceRegistry.

Definition at line 735 of file Application.cpp.

◆ getValidators()

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

Implements xrpl::ServiceRegistry.

Definition at line 741 of file Application.cpp.

◆ getValidatorSites()

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

Implements xrpl::ServiceRegistry.

Definition at line 747 of file Application.cpp.

◆ getValidatorManifests()

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

Implements xrpl::ServiceRegistry.

Definition at line 753 of file Application.cpp.

◆ getPublisherManifests()

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

Implements xrpl::ServiceRegistry.

Definition at line 759 of file Application.cpp.

◆ getCluster()

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

Implements xrpl::ServiceRegistry.

Definition at line 765 of file Application.cpp.

◆ getPeerReservations()

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

Implements xrpl::ServiceRegistry.

Definition at line 771 of file Application.cpp.

◆ getSHAMapStore()

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

Implements xrpl::ServiceRegistry.

Definition at line 777 of file Application.cpp.

◆ getPendingSaves()

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

Implements xrpl::ServiceRegistry.

Definition at line 783 of file Application.cpp.

◆ getOpenLedger() [1/2]

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

Implements xrpl::ServiceRegistry.

Definition at line 789 of file Application.cpp.

◆ getOpenLedger() [2/2]

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

Implements xrpl::ServiceRegistry.

Definition at line 796 of file Application.cpp.

◆ getOverlay()

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

Implements xrpl::ServiceRegistry.

Definition at line 803 of file Application.cpp.

◆ getTxQ()

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

Implements xrpl::ServiceRegistry.

Definition at line 810 of file Application.cpp.

◆ getRelationalDatabase()

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

Implements xrpl::ServiceRegistry.

Definition at line 817 of file Application.cpp.

◆ getWalletDB()

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

Retrieve the "wallet database".

Implements xrpl::ServiceRegistry.

Definition at line 826 of file Application.cpp.

◆ serverOkay()

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

Implements xrpl::Application.

Definition at line 2106 of file Application.cpp.

◆ getJournal()

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

Implements xrpl::ServiceRegistry.

Definition at line 2154 of file Application.cpp.

◆ initRelationalDatabase()

bool xrpl::ApplicationImp::initRelationalDatabase ( )

Definition at line 841 of file Application.cpp.

◆ initNodeStore()

bool xrpl::ApplicationImp::initNodeStore ( ) const

Definition at line 868 of file Application.cpp.

◆ onWrite()

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

Subclass override.

The default version does nothing.

Reimplemented from beast::PropertyStream::Source.

Definition at line 904 of file Application.cpp.

◆ setSweepTimer()

void xrpl::ApplicationImp::setSweepTimer ( )

Definition at line 911 of file Application.cpp.

◆ setEntropyTimer()

void xrpl::ApplicationImp::setEntropyTimer ( )

Definition at line 940 of file Application.cpp.

◆ doSweep()

void xrpl::ApplicationImp::doSweep ( )

Definition at line 968 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 1110 of file Application.cpp.

◆ getTrapTxID()

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

Implements xrpl::ServiceRegistry.

Definition at line 1116 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 1122 of file Application.cpp.

◆ startGenesisLedger()

void xrpl::ApplicationImp::startGenesisLedger ( )
private

Definition at line 1687 of file Application.cpp.

◆ getLastFullLedger()

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

Definition at line 1713 of file Application.cpp.

◆ loadLedgerFromFile()

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

Definition at line 1757 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 1891 of file Application.cpp.

◆ setMaxDisallowedLedger()

void xrpl::ApplicationImp::setMaxDisallowedLedger ( )
private

Definition at line 2160 of file Application.cpp.

◆ getApp()

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

Implements xrpl::ServiceRegistry.

Definition at line 1152 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 349 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 23 of file BasicApp.h.

Member Data Documentation

◆ config_

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

Definition at line 210 of file Application.cpp.

◆ logs_

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

Definition at line 211 of file Application.cpp.

◆ timeKeeper_

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

Definition at line 212 of file Application.cpp.

◆ instanceCookie_

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

Definition at line 214 of file Application.cpp.

◆ journal_

beast::Journal xrpl::ApplicationImp::journal_

Definition at line 216 of file Application.cpp.

◆ perfLog_

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

Definition at line 217 of file Application.cpp.

◆ masterMutex_

Application::MutexType xrpl::ApplicationImp::masterMutex_

Definition at line 218 of file Application.cpp.

◆ txMaster_

TransactionMaster xrpl::ApplicationImp::txMaster_

Definition at line 221 of file Application.cpp.

◆ collectorManager_

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

Definition at line 223 of file Application.cpp.

◆ jobQueue_

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

Definition at line 224 of file Application.cpp.

◆ nodeStoreScheduler_

NodeStoreScheduler xrpl::ApplicationImp::nodeStoreScheduler_

Definition at line 225 of file Application.cpp.

◆ shaMapStore_

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

Definition at line 226 of file Application.cpp.

◆ pendingSaves_

PendingSaves xrpl::ApplicationImp::pendingSaves_

Definition at line 227 of file Application.cpp.

◆ openLedger_

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

Definition at line 228 of file Application.cpp.

◆ tempNodeCache_

NodeCache xrpl::ApplicationImp::tempNodeCache_

Definition at line 230 of file Application.cpp.

◆ cachedSLEs_

CachedSLEs xrpl::ApplicationImp::cachedSLEs_

Definition at line 231 of file Application.cpp.

◆ networkIDService_

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

Definition at line 232 of file Application.cpp.

◆ nodeIdentity_

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

Definition at line 233 of file Application.cpp.

◆ validatorKeys_

ValidatorKeys const xrpl::ApplicationImp::validatorKeys_

Definition at line 234 of file Application.cpp.

◆ resourceManager_

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

Definition at line 236 of file Application.cpp.

◆ nodeStore_

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

Definition at line 238 of file Application.cpp.

◆ nodeFamily_

NodeFamily xrpl::ApplicationImp::nodeFamily_

Definition at line 239 of file Application.cpp.

◆ orderBookDB_

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

Definition at line 240 of file Application.cpp.

◆ pathRequestManager_

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

Definition at line 241 of file Application.cpp.

◆ ledgerMaster_

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

Definition at line 242 of file Application.cpp.

◆ ledgerCleaner_

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

Definition at line 243 of file Application.cpp.

◆ inboundLedgers_

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

Definition at line 244 of file Application.cpp.

◆ inboundTransactions_

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

Definition at line 245 of file Application.cpp.

◆ ledgerReplayer_

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

Definition at line 246 of file Application.cpp.

◆ acceptedLedgerCache_

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

Definition at line 247 of file Application.cpp.

◆ networkOPs_

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

Definition at line 248 of file Application.cpp.

◆ cluster_

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

Definition at line 249 of file Application.cpp.

◆ peerReservations_

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

Definition at line 250 of file Application.cpp.

◆ validatorManifests_

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

Definition at line 251 of file Application.cpp.

◆ publisherManifests_

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

Definition at line 252 of file Application.cpp.

◆ validators_

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

Definition at line 253 of file Application.cpp.

◆ validatorSites_

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

Definition at line 254 of file Application.cpp.

◆ serverHandler_

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

Definition at line 255 of file Application.cpp.

◆ amendmentTable_

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

Definition at line 256 of file Application.cpp.

◆ feeTrack_

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

Definition at line 257 of file Application.cpp.

◆ hashRouter_

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

Definition at line 258 of file Application.cpp.

◆ validations_

RCLValidations xrpl::ApplicationImp::validations_

Definition at line 259 of file Application.cpp.

◆ loadManager_

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

Definition at line 260 of file Application.cpp.

◆ txQ_

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

Definition at line 261 of file Application.cpp.

◆ waitHandlerCounter_

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

Definition at line 262 of file Application.cpp.

◆ sweepTimer_

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

Definition at line 263 of file Application.cpp.

◆ entropyTimer_

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

Definition at line 264 of file Application.cpp.

◆ relationalDatabase_

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

Definition at line 266 of file Application.cpp.

◆ walletDB_

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

Definition at line 267 of file Application.cpp.

◆ overlay_

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

Definition at line 268 of file Application.cpp.

◆ trapTxID_

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

Definition at line 269 of file Application.cpp.

◆ signals_

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

Definition at line 271 of file Application.cpp.

◆ isTimeToStop

std::atomic_flag xrpl::ApplicationImp::isTimeToStop

Definition at line 273 of file Application.cpp.

◆ checkSigs_

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

Definition at line 275 of file Application.cpp.

◆ resolver_

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

Definition at line 277 of file Application.cpp.

◆ io_latency_sampler_

IOLatencySampler xrpl::ApplicationImp::io_latency_sampler_

Definition at line 279 of file Application.cpp.

◆ grpcServer_

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

Definition at line 281 of file Application.cpp.

◆ maxDisallowedLedger_

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

Definition at line 1130 of file Application.cpp.

◆ name_

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

Definition at line 317 of file PropertyStream.h.

◆ lock_

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

Definition at line 318 of file PropertyStream.h.

◆ item_

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

Definition at line 319 of file PropertyStream.h.

◆ parent_

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

Definition at line 320 of file PropertyStream.h.

◆ children_

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

Definition at line 321 of file PropertyStream.h.

◆ work_

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

Definition at line 14 of file BasicApp.h.

◆ threads_

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

Definition at line 15 of file BasicApp.h.

◆ ioContext_

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

Definition at line 16 of file BasicApp.h.