20#ifndef RIPPLE_APP_MISC_NETWORKOPS_H_INCLUDED 
   21#define RIPPLE_APP_MISC_NETWORKOPS_H_INCLUDED 
   23#include <xrpld/app/consensus/RCLCxPeerPos.h> 
   24#include <xrpld/app/ledger/Ledger.h> 
   25#include <xrpld/core/JobQueue.h> 
   26#include <xrpld/rpc/InfoSub.h> 
   28#include <xrpl/ledger/ReadView.h> 
   29#include <xrpl/protocol/STValidation.h> 
   30#include <xrpl/protocol/messages.h> 
   32#include <boost/asio.hpp> 
  293    boost::asio::io_context& io_svc,
 
A generic endpoint for log messages.
 
Holds transactions which were deferred to the next pass of consensus.
 
Abstracts the source of subscription data.
 
A pool of threads to perform work.
 
Provides server functionality for clients.
 
virtual Json::Value getOwnerInfo(std::shared_ptr< ReadView const > lpLedger, AccountID const &account)=0
 
static FailHard doFailHard(bool noMeansDont)
 
virtual void endConsensus(std::unique_ptr< std::stringstream > const &clog)=0
 
virtual bool isBlocked()=0
 
virtual void setAmendmentWarned()=0
 
virtual void setUNLBlocked()=0
 
virtual void submitTransaction(std::shared_ptr< STTx const > const &)=0
 
virtual OperatingMode getOperatingMode() const =0
 
virtual void stateAccounting(Json::Value &obj)=0
 
virtual void pubValidation(std::shared_ptr< STValidation > const &val)=0
 
virtual void pubProposedTransaction(std::shared_ptr< ReadView const > const &ledger, std::shared_ptr< STTx const > const &transaction, TER result)=0
 
virtual void mapComplete(std::shared_ptr< SHAMap > const &map, bool fromAcquire)=0
 
virtual Json::Value getConsensusInfo()=0
 
virtual void setAmendmentBlocked()=0
 
virtual void setStandAlone()=0
 
virtual void consensusViewChange()=0
 
virtual void clearLedgerFetch()=0
 
virtual void clearNeedNetworkLedger()=0
 
virtual void setNeedNetworkLedger()=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 bool recvValidation(std::shared_ptr< STValidation > const &val, std::string const &source)=0
 
virtual bool processTrustedProposal(RCLCxPeerPos peerPos)=0
 
virtual std::string strOperatingMode(bool const admin=false) const =0
 
virtual std::size_t getLocalTxCount()=0
 
~NetworkOPs() override=default
 
virtual bool beginConsensus(uint256 const &netLCL, std::unique_ptr< std::stringstream > const &clog)=0
 
virtual void reportFeeChange()=0
 
virtual bool isAmendmentWarned()=0
 
virtual void setMode(OperatingMode om)=0
 
virtual void clearUNLBlocked()=0
 
virtual std::string strOperatingMode(OperatingMode const mode, bool const admin=false) const =0
 
virtual bool isNeedNetworkLedger()=0
 
virtual bool isAmendmentBlocked()=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 Json::Value getLedgerFetchInfo()=0
 
virtual void updateLocalTx(ReadView const &newValidLedger)=0
 
virtual void clearAmendmentWarned()=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 Json::Value getServerInfo(bool human, bool admin, bool counters)=0
 
virtual void setStateTimer()=0
 
virtual void processTransactionSet(CanonicalTXSet const &set)=0
Process a set of transactions synchronously, and ensuring that they are processed in one batch.
 
virtual void pubLedger(std::shared_ptr< ReadView const > const &lpAccepted)=0
 
virtual bool isUNLBlocked()=0
 
A peer's signed, proposed position for use in RCLConsensus.
 
Validator keys and manifest as set in configuration file.
 
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
 
std::unique_ptr< NetworkOPs > make_NetworkOPs(Application &app, NetworkOPs::clock_type &clock, bool standalone, std::size_t minPeerCount, bool startvalid, JobQueue &job_queue, LedgerMaster &ledgerMaster, ValidatorKeys const &validatorKeys, boost::asio::io_context &io_svc, beast::Journal journal, beast::insight::Collector::ptr const &collector)
 
OperatingMode
Specifies the mode under which the server believes it's operating.
 
@ TRACKING
convinced we agree with the network
 
@ DISCONNECTED
not ready to process requests
 
@ CONNECTED
convinced we are talking to the network
 
@ FULL
we have the ledger and can even validate
 
@ SYNCING
fallen slightly behind
 
@ ledgerMaster
ledger master data for signing