xrpld
Loading...
Searching...
No Matches
xrpl::NetworkOPs Class Referenceabstract

Provides server functionality for clients. More...

#include <NetworkOPs.h>

Inheritance diagram for xrpl::NetworkOPs:
Collaboration diagram for xrpl::NetworkOPs:

Public Types

enum class  FailHard : unsigned char { No , Yes }
using clock_type = beast::AbstractClock<std::chrono::steady_clock>

Public Member Functions

 ~NetworkOPs () override=default
virtual void stop ()=0
virtual OperatingMode getOperatingMode () const =0
virtual std::string strOperatingMode (OperatingMode const mode, bool const admin=false) const =0
virtual std::string strOperatingMode (bool const admin=false) const =0
virtual void submitTransaction (std::shared_ptr< STTx const > const &)=0
virtual void processTransaction (std::shared_ptr< Transaction > &transaction, bool bUnlimited, bool bLocal, FailHard failType)=0
 Process transactions as they arrive from the network or which are submitted by clients.
virtual void processTransactionSet (CanonicalTXSet const &set)=0
 Process a set of transactions synchronously, and ensuring that they are processed in one batch.
virtual json::Value getOwnerInfo (std::shared_ptr< ReadView const > lpLedger, AccountID const &account)=0
virtual void getBookPage (std::shared_ptr< ReadView const > &lpLedger, Book const &book, AccountID const &uTakerID, bool const bProof, unsigned int iLimit, json::Value const &jvMarker, json::Value &jvResult)=0
virtual bool processTrustedProposal (RCLCxPeerPos peerPos)=0
virtual bool recvValidation (std::shared_ptr< STValidation > const &val, std::string const &source)=0
virtual void mapComplete (std::shared_ptr< SHAMap > const &map, bool fromAcquire)=0
virtual bool beginConsensus (uint256 const &netLCL, std::unique_ptr< std::stringstream > const &clog)=0
virtual void endConsensus (std::unique_ptr< std::stringstream > const &clog)=0
virtual void setStandAlone ()=0
virtual void setStateTimer ()=0
virtual void setNeedNetworkLedger ()=0
virtual void clearNeedNetworkLedger ()=0
virtual bool isNeedNetworkLedger ()=0
virtual bool isFull ()=0
virtual void setMode (OperatingMode om)=0
virtual bool isBlocked ()=0
virtual bool isAmendmentBlocked ()=0
virtual void setAmendmentBlocked ()=0
virtual bool isAmendmentWarned ()=0
virtual void setAmendmentWarned ()=0
virtual void clearAmendmentWarned ()=0
virtual bool isUNLBlocked ()=0
virtual void setUNLBlocked ()=0
virtual void clearUNLBlocked ()=0
virtual void consensusViewChange ()=0
virtual json::Value getConsensusInfo ()=0
virtual json::Value getServerInfo (bool human, bool admin, bool counters)=0
virtual void clearLedgerFetch ()=0
virtual json::Value getLedgerFetchInfo ()=0
virtual std::uint32_t acceptLedger (std::optional< std::chrono::milliseconds > consensusDelay=std::nullopt)=0
 Accepts the current transaction tree, return the new ledger's sequence.
virtual void reportFeeChange ()=0
virtual void updateLocalTx (ReadView const &newValidLedger)=0
virtual std::size_t getLocalTxCount ()=0
virtual void pubLedger (std::shared_ptr< ReadView const > const &lpAccepted)=0
virtual void pubProposedTransaction (std::shared_ptr< ReadView const > const &ledger, std::shared_ptr< STTx const > const &transaction, TER result)=0
virtual void pubValidation (std::shared_ptr< STValidation > const &val)=0
virtual void stateAccounting (json::Value &obj)=0
virtual std::size_t getBookSubscribersCount ()=0
 Total number of (book, subscriber) entries currently tracked.
virtual void subAccount (ref ispListener, hash_set< AccountID > const &vnaAccountIDs, bool realTime)=0
virtual void unsubAccount (ref isplistener, hash_set< AccountID > const &vnaAccountIDs, bool realTime)=0
virtual void unsubAccountInternal (std::uint64_t uListener, hash_set< AccountID > const &vnaAccountIDs, bool realTime)=0
virtual ErrorCodeI subAccountHistory (ref ispListener, AccountID const &account)=0
 subscribe an account's new transactions and retrieve the account's historical transactions
virtual void unsubAccountHistory (ref ispListener, AccountID const &account, bool historyOnly)=0
 unsubscribe an account's transactions
virtual void unsubAccountHistoryInternal (std::uint64_t uListener, AccountID const &account, bool historyOnly)=0
virtual bool subLedger (ref ispListener, json::Value &jvResult)=0
virtual bool unsubLedger (std::uint64_t uListener)=0
virtual bool subBookChanges (ref ispListener)=0
virtual bool unsubBookChanges (std::uint64_t uListener)=0
virtual bool subManifests (ref ispListener)=0
virtual bool unsubManifests (std::uint64_t uListener)=0
virtual void pubManifest (Manifest const &)=0
virtual bool subServer (ref ispListener, json::Value &jvResult, bool admin)=0
virtual bool unsubServer (std::uint64_t uListener)=0
virtual bool subBook (ref ispListener, Book const &)=0
virtual bool unsubBook (ref ispListener, Book const &)=0
 Remove a book subscription for a live subscriber.
virtual bool unsubBookInternal (std::uint64_t uListener, Book const &)=0
 Remove a book subscription during InfoSub teardown.
virtual bool subTransactions (ref ispListener)=0
virtual bool unsubTransactions (std::uint64_t uListener)=0
virtual bool subRTTransactions (ref ispListener)=0
virtual bool unsubRTTransactions (std::uint64_t uListener)=0
virtual bool subValidations (ref ispListener)=0
virtual bool unsubValidations (std::uint64_t uListener)=0
virtual bool subPeerStatus (ref ispListener)=0
virtual bool unsubPeerStatus (std::uint64_t uListener)=0
virtual void pubPeerStatus (std::function< json::Value(void)> const &)=0
virtual bool subConsensus (ref ispListener)=0
virtual bool unsubConsensus (std::uint64_t uListener)=0
virtual pointer findRpcSub (std::string const &strUrl)=0
virtual pointer addRpcSub (std::string const &strUrl, ref rspEntry)=0
virtual bool tryRemoveRpcSub (std::string const &strUrl)=0
virtual beast::Journal const & journal () const =0
 Journal used by InfoSub for diagnostics that occur after the owning subsystem (e.g.

Static Public Member Functions

static FailHard doFailHard (bool noMeansDont)

Detailed Description

Provides server functionality for clients.

Clients include backend applications, local commands, and connected clients. This class acts as a proxy, fulfilling the command with local data if possible, or asking the network and returning the results if needed.

A backend application or local client can trust a local instance of xrpld / NetworkOPs. However, client software connecting to non-local instances of xrpld will need to be hardened to protect against hostile or unreliable servers.

Definition at line 70 of file NetworkOPs.h.

Member Typedef Documentation

◆ clock_type

Member Enumeration Documentation

◆ FailHard

enum class xrpl::NetworkOPs::FailHard : unsigned char
strong
Enumerator
No 
Yes 

Definition at line 75 of file NetworkOPs.h.

Constructor & Destructor Documentation

◆ ~NetworkOPs()

xrpl::NetworkOPs::~NetworkOPs ( )
overridedefault

Member Function Documentation

◆ doFailHard()

FailHard xrpl::NetworkOPs::doFailHard ( bool noMeansDont)
static

Definition at line 77 of file NetworkOPs.h.

◆ stop()

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

Implemented in xrpl::NetworkOPsImp.

◆ getOperatingMode()

virtual OperatingMode xrpl::NetworkOPs::getOperatingMode ( ) const
nodiscardpure virtual

Implemented in xrpl::NetworkOPsImp.

◆ strOperatingMode() [1/2]

virtual std::string xrpl::NetworkOPs::strOperatingMode ( OperatingMode const mode,
bool const admin = false ) const
nodiscardpure virtual

Implemented in xrpl::NetworkOPsImp.

◆ strOperatingMode() [2/2]

virtual std::string xrpl::NetworkOPs::strOperatingMode ( bool const admin = false) const
nodiscardpure virtual

Implemented in xrpl::NetworkOPsImp.

◆ submitTransaction()

virtual void xrpl::NetworkOPs::submitTransaction ( std::shared_ptr< STTx const > const & )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ processTransaction()

virtual void xrpl::NetworkOPs::processTransaction ( std::shared_ptr< Transaction > & transaction,
bool bUnlimited,
bool bLocal,
FailHard failType )
pure virtual

Process transactions as they arrive from the network or which are submitted by clients.

Process local transactions synchronously

Parameters
transactionTransaction object
bUnlimitedWhether a privileged client connection submitted it.
bLocalClient submission.
failTypefail_hard setting from transaction submission.

Implemented in xrpl::NetworkOPsImp.

◆ processTransactionSet()

virtual void xrpl::NetworkOPs::processTransactionSet ( CanonicalTXSet const & set)
pure virtual

Process a set of transactions synchronously, and ensuring that they are processed in one batch.

Parameters
setTransaction object set

Implemented in xrpl::NetworkOPsImp.

◆ getOwnerInfo()

virtual json::Value xrpl::NetworkOPs::getOwnerInfo ( std::shared_ptr< ReadView const > lpLedger,
AccountID const & account )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ getBookPage()

virtual void xrpl::NetworkOPs::getBookPage ( std::shared_ptr< ReadView const > & lpLedger,
Book const & book,
AccountID const & uTakerID,
bool const bProof,
unsigned int iLimit,
json::Value const & jvMarker,
json::Value & jvResult )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ processTrustedProposal()

virtual bool xrpl::NetworkOPs::processTrustedProposal ( RCLCxPeerPos peerPos)
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ recvValidation()

virtual bool xrpl::NetworkOPs::recvValidation ( std::shared_ptr< STValidation > const & val,
std::string const & source )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ mapComplete()

virtual void xrpl::NetworkOPs::mapComplete ( std::shared_ptr< SHAMap > const & map,
bool fromAcquire )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ beginConsensus()

virtual bool xrpl::NetworkOPs::beginConsensus ( uint256 const & netLCL,
std::unique_ptr< std::stringstream > const & clog )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ endConsensus()

virtual void xrpl::NetworkOPs::endConsensus ( std::unique_ptr< std::stringstream > const & clog)
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ setStandAlone()

virtual void xrpl::NetworkOPs::setStandAlone ( )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ setStateTimer()

virtual void xrpl::NetworkOPs::setStateTimer ( )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ setNeedNetworkLedger()

virtual void xrpl::NetworkOPs::setNeedNetworkLedger ( )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ clearNeedNetworkLedger()

virtual void xrpl::NetworkOPs::clearNeedNetworkLedger ( )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ isNeedNetworkLedger()

virtual bool xrpl::NetworkOPs::isNeedNetworkLedger ( )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ isFull()

virtual bool xrpl::NetworkOPs::isFull ( )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ setMode()

virtual void xrpl::NetworkOPs::setMode ( OperatingMode om)
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ isBlocked()

virtual bool xrpl::NetworkOPs::isBlocked ( )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ isAmendmentBlocked()

virtual bool xrpl::NetworkOPs::isAmendmentBlocked ( )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ setAmendmentBlocked()

virtual void xrpl::NetworkOPs::setAmendmentBlocked ( )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ isAmendmentWarned()

virtual bool xrpl::NetworkOPs::isAmendmentWarned ( )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ setAmendmentWarned()

virtual void xrpl::NetworkOPs::setAmendmentWarned ( )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ clearAmendmentWarned()

virtual void xrpl::NetworkOPs::clearAmendmentWarned ( )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ isUNLBlocked()

virtual bool xrpl::NetworkOPs::isUNLBlocked ( )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ setUNLBlocked()

virtual void xrpl::NetworkOPs::setUNLBlocked ( )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ clearUNLBlocked()

virtual void xrpl::NetworkOPs::clearUNLBlocked ( )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ consensusViewChange()

virtual void xrpl::NetworkOPs::consensusViewChange ( )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ getConsensusInfo()

virtual json::Value xrpl::NetworkOPs::getConsensusInfo ( )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ getServerInfo()

virtual json::Value xrpl::NetworkOPs::getServerInfo ( bool human,
bool admin,
bool counters )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ clearLedgerFetch()

virtual void xrpl::NetworkOPs::clearLedgerFetch ( )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ getLedgerFetchInfo()

virtual json::Value xrpl::NetworkOPs::getLedgerFetchInfo ( )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ acceptLedger()

virtual std::uint32_t xrpl::NetworkOPs::acceptLedger ( std::optional< std::chrono::milliseconds > consensusDelay = std::nullopt)
pure virtual

Accepts the current transaction tree, return the new ledger's sequence.

This API is only used via RPC with the server in STANDALONE mode and performs a virtual consensus round, with all the transactions we are proposing being accepted.

Implemented in xrpl::NetworkOPsImp.

◆ reportFeeChange()

virtual void xrpl::NetworkOPs::reportFeeChange ( )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ updateLocalTx()

virtual void xrpl::NetworkOPs::updateLocalTx ( ReadView const & newValidLedger)
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ getLocalTxCount()

virtual std::size_t xrpl::NetworkOPs::getLocalTxCount ( )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ pubLedger()

virtual void xrpl::NetworkOPs::pubLedger ( std::shared_ptr< ReadView const > const & lpAccepted)
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ pubProposedTransaction()

virtual void xrpl::NetworkOPs::pubProposedTransaction ( std::shared_ptr< ReadView const > const & ledger,
std::shared_ptr< STTx const > const & transaction,
TER result )
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ pubValidation()

virtual void xrpl::NetworkOPs::pubValidation ( std::shared_ptr< STValidation > const & val)
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ stateAccounting()

virtual void xrpl::NetworkOPs::stateAccounting ( json::Value & obj)
pure virtual

Implemented in xrpl::NetworkOPsImp.

◆ getBookSubscribersCount()

virtual std::size_t xrpl::NetworkOPs::getBookSubscribersCount ( )
pure virtual

Total number of (book, subscriber) entries currently tracked.

Counts every weak_ptr stored across every book in subBook_, NOT the number of distinct subscribers and NOT the number of distinct books: a single subscriber following N books contributes N entries.

Note
Diagnostic accessor; intended for tests and operator visibility into per-book subscription state. The returned value is a snapshot under the subscription lock.

Implemented in xrpl::NetworkOPsImp.

◆ subAccount()

virtual void xrpl::InfoSub::Source::subAccount ( ref ispListener,
hash_set< AccountID > const & vnaAccountIDs,
bool realTime )
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ unsubAccount()

virtual void xrpl::InfoSub::Source::unsubAccount ( ref isplistener,
hash_set< AccountID > const & vnaAccountIDs,
bool realTime )
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ unsubAccountInternal()

virtual void xrpl::InfoSub::Source::unsubAccountInternal ( std::uint64_t uListener,
hash_set< AccountID > const & vnaAccountIDs,
bool realTime )
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ subAccountHistory()

virtual ErrorCodeI xrpl::InfoSub::Source::subAccountHistory ( ref ispListener,
AccountID const & account )
pure virtualinherited

subscribe an account's new transactions and retrieve the account's historical transactions

Returns
rpcSUCCESS if successful, otherwise an error code

Implemented in xrpl::NetworkOPsImp.

◆ unsubAccountHistory()

virtual void xrpl::InfoSub::Source::unsubAccountHistory ( ref ispListener,
AccountID const & account,
bool historyOnly )
pure virtualinherited

unsubscribe an account's transactions

Parameters
historyOnlyif true, only stop historical transactions
Note
once a client receives enough historical transactions, it should unsubscribe with historyOnly == true to stop receiving more historical transactions. It will continue to receive new transactions.

Implemented in xrpl::NetworkOPsImp.

◆ unsubAccountHistoryInternal()

virtual void xrpl::InfoSub::Source::unsubAccountHistoryInternal ( std::uint64_t uListener,
AccountID const & account,
bool historyOnly )
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ subLedger()

virtual bool xrpl::InfoSub::Source::subLedger ( ref ispListener,
json::Value & jvResult )
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ unsubLedger()

virtual bool xrpl::InfoSub::Source::unsubLedger ( std::uint64_t uListener)
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ subBookChanges()

virtual bool xrpl::InfoSub::Source::subBookChanges ( ref ispListener)
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ unsubBookChanges()

virtual bool xrpl::InfoSub::Source::unsubBookChanges ( std::uint64_t uListener)
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ subManifests()

virtual bool xrpl::InfoSub::Source::subManifests ( ref ispListener)
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ unsubManifests()

virtual bool xrpl::InfoSub::Source::unsubManifests ( std::uint64_t uListener)
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ pubManifest()

virtual void xrpl::InfoSub::Source::pubManifest ( Manifest const & )
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ subServer()

virtual bool xrpl::InfoSub::Source::subServer ( ref ispListener,
json::Value & jvResult,
bool admin )
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ unsubServer()

virtual bool xrpl::InfoSub::Source::unsubServer ( std::uint64_t uListener)
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ subBook()

virtual bool xrpl::InfoSub::Source::subBook ( ref ispListener,
Book const &  )
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ unsubBook()

virtual bool xrpl::InfoSub::Source::unsubBook ( ref ispListener,
Book const &  )
pure virtualinherited

Remove a book subscription for a live subscriber.

Clears the book from the subscriber's own tracking set (InfoSub::bookSubscriptions_) and then removes the server-side entry from subBook_. Call this from RPC unsubscribe handlers.

Parameters
ispListenerThe subscriber requesting removal.
bookThe order book to unsubscribe from.
Returns
true if the entry was present and removed, false if the subscriber was not subscribed to book.
Note
Thread-safety: acquires subLock_ internally.
Do NOT call from ~InfoSub(). Use unsubBookInternal instead to avoid a redundant write-back to bookSubscriptions_ on a partially-destroyed object.

Implemented in xrpl::NetworkOPsImp.

◆ unsubBookInternal()

virtual bool xrpl::InfoSub::Source::unsubBookInternal ( std::uint64_t uListener,
Book const &  )
pure virtualinherited

Remove a book subscription during InfoSub teardown.

Removes only the server-side entry from subBook_. Does NOT touch InfoSub::bookSubscriptions_ because the InfoSub is being destroyed. Called by ~InfoSub() for each book in bookSubscriptions_.

Parameters
uListenerThe sequence number of the subscriber being torn down.
bookThe order book entry to remove.
Returns
true if the entry was present and removed, false otherwise (e.g., already removed by a concurrent RPC unsubscribe).
Note
Thread-safety: acquires subLock_ internally.

Implemented in xrpl::NetworkOPsImp.

◆ subTransactions()

virtual bool xrpl::InfoSub::Source::subTransactions ( ref ispListener)
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ unsubTransactions()

virtual bool xrpl::InfoSub::Source::unsubTransactions ( std::uint64_t uListener)
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ subRTTransactions()

virtual bool xrpl::InfoSub::Source::subRTTransactions ( ref ispListener)
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ unsubRTTransactions()

virtual bool xrpl::InfoSub::Source::unsubRTTransactions ( std::uint64_t uListener)
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ subValidations()

virtual bool xrpl::InfoSub::Source::subValidations ( ref ispListener)
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ unsubValidations()

virtual bool xrpl::InfoSub::Source::unsubValidations ( std::uint64_t uListener)
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ subPeerStatus()

virtual bool xrpl::InfoSub::Source::subPeerStatus ( ref ispListener)
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ unsubPeerStatus()

virtual bool xrpl::InfoSub::Source::unsubPeerStatus ( std::uint64_t uListener)
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ pubPeerStatus()

virtual void xrpl::InfoSub::Source::pubPeerStatus ( std::function< json::Value(void)> const & )
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ subConsensus()

virtual bool xrpl::InfoSub::Source::subConsensus ( ref ispListener)
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ unsubConsensus()

virtual bool xrpl::InfoSub::Source::unsubConsensus ( std::uint64_t uListener)
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ findRpcSub()

virtual pointer xrpl::InfoSub::Source::findRpcSub ( std::string const & strUrl)
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ addRpcSub()

virtual pointer xrpl::InfoSub::Source::addRpcSub ( std::string const & strUrl,
ref rspEntry )
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ tryRemoveRpcSub()

virtual bool xrpl::InfoSub::Source::tryRemoveRpcSub ( std::string const & strUrl)
pure virtualinherited

Implemented in xrpl::NetworkOPsImp.

◆ journal()

virtual beast::Journal const & xrpl::InfoSub::Source::journal ( ) const
nodiscardpure virtualinherited

Journal used by InfoSub for diagnostics that occur after the owning subsystem (e.g.

application-level Logs) is the only surviving sink — primarily destructor-time cleanup failures.

Implemented in xrpl::NetworkOPsImp.