20 #ifndef RIPPLE_APP_MISC_NETWORKOPS_H_INCLUDED
21 #define RIPPLE_APP_MISC_NETWORKOPS_H_INCLUDED
23 #include <ripple/app/consensus/RCLCxPeerPos.h>
24 #include <ripple/app/ledger/Ledger.h>
25 #include <ripple/core/JobQueue.h>
26 #include <ripple/ledger/ReadView.h>
27 #include <ripple/net/InfoSub.h>
28 #include <ripple/protocol/STValidation.h>
29 #include <ripple/protocol/messages.h>
30 #include <boost/asio.hpp>
287 LedgerMaster& ledgerMaster,
288 ValidatorKeys
const& validatorKeys,
289 boost::asio::io_service& io_svc,
virtual void pubLedger(std::shared_ptr< ReadView const > const &lpAccepted)=0
Provides server functionality for clients.
virtual void forwardProposedAccountTransaction(Json::Value const &jvObj)=0
A peer's signed, proposed position for use in RCLConsensus.
virtual bool recvValidation(std::shared_ptr< STValidation > const &val, std::string const &source)=0
virtual Json::Value getServerInfo(bool human, bool admin, bool counters)=0
virtual bool isUNLBlocked()=0
virtual void forwardManifest(Json::Value const &jvObj)=0
virtual void consensusViewChange()=0
virtual void setAmendmentBlocked()=0
virtual bool isAmendmentWarned()=0
virtual OperatingMode getOperatingMode() const =0
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_service &io_svc, beast::Journal journal, beast::insight::Collector::ptr const &collector)
~NetworkOPs() override=default
virtual bool isAmendmentBlocked()=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 void stateAccounting(Json::Value &obj)=0
virtual void clearLedgerFetch()=0
@ SYNCING
fallen slightly behind
virtual void setStandAlone()=0
Integers of any length that is a multiple of 32-bits.
virtual void clearUNLBlocked()=0
@ DISCONNECTED
not ready to process requests
virtual bool isNeedNetworkLedger()=0
virtual void submitTransaction(std::shared_ptr< STTx const > const &)=0
@ CONNECTED
convinced we are talking to the network
virtual Json::Value getOwnerInfo(std::shared_ptr< ReadView const > lpLedger, AccountID const &account)=0
virtual void setAmendmentWarned()=0
@ TRACKING
convinced we agree with the network
virtual void updateLocalTx(ReadView const &newValidLedger)=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 void reportFeeChange()=0
virtual void pubValidation(std::shared_ptr< STValidation > const &val)=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.
Abstracts the source of subscription data.
virtual void setStateTimer()=0
virtual Json::Value getConsensusInfo()=0
A generic endpoint for log messages.
virtual void setUNLBlocked()=0
virtual void clearNeedNetworkLedger()=0
virtual std::size_t getLocalTxCount()=0
beast::abstract_clock< std::chrono::steady_clock > clock_type
virtual bool processTrustedProposal(RCLCxPeerPos peerPos)=0
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
virtual bool isBlocked()=0
virtual void clearAmendmentWarned()=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 std::string strOperatingMode(OperatingMode const mode, bool const admin=false) const =0
OperatingMode
Specifies the mode under which the server believes it's operating.
virtual void setNeedNetworkLedger()=0
virtual void setMode(OperatingMode om)=0
static FailHard doFailHard(bool noMeansDont)
virtual bool beginConsensus(uint256 const &netLCL)=0
virtual void forwardProposedTransaction(Json::Value const &jvObj)=0
virtual Json::Value getLedgerFetchInfo()=0
virtual void endConsensus()=0
virtual void forwardValidation(Json::Value const &jvObj)=0
@ FULL
we have the ledger and can even validate