3#include <xrpld/core/Config.h>
5#include <xrpl/basics/TaggedCache.h>
6#include <xrpl/beast/utility/PropertyStream.h>
7#include <xrpl/core/PeerReservationTable.h>
8#include <xrpl/core/ServiceRegistry.h>
9#include <xrpl/protocol/Protocol.h>
10#include <xrpl/shamap/TreeNodeCache.h>
12#include <boost/asio.hpp>
13#include <boost/program_options.hpp>
39 class SharedWeakUnionPointer,
40 class SharedPointerType,
46using SLE = STLedgerEntry;
47using CachedSLEs = TaggedCache<uint256, SLE const>;
49class CollectorManager;
56class InboundTransactions;
76class TransactionMaster;
83class RelationalDatabase;
87using NodeCache = TaggedCache<SHAMapHash, Blob>;
89template <
class Adaptor>
91class RCLValidationsAdaptor;
116 setup(boost::program_options::variables_map
const& options) = 0;
Subclasses can be called to write to a stream and have children.
virtual bool setup(boost::program_options::variables_map const &options)=0
virtual std::chrono::milliseconds getIOLatency()=0
virtual Config & config()=0
virtual void signalStop(std::string msg)=0
virtual std::uint64_t instanceID() const =0
Returns a 64-bit instance identifier, generated at startup.
virtual bool checkSigs() const =0
virtual int fdRequired() const =0
virtual LedgerIndex getMaxDisallowedLedger()=0
Ensure that a newly-started validator does not sign proposals older than the last ledger it persisted...
virtual std::optional< PublicKey const > getValidationPublicKey() const =0
virtual bool serverOkay(std::string &reason)=0
virtual void checkSigs(bool)=0
virtual MutexType & getMasterMutex()=0
virtual void start(bool withTimers)=0
virtual std::pair< PublicKey, SecretKey > const & nodeIdentity()=0
Service registry for dependency injection.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
TaggedCache< uint256, SLE const > CachedSLEs
std::unique_ptr< Application > make_Application(std::unique_ptr< Config > config, std::unique_ptr< Logs > logs, std::unique_ptr< TimeKeeper > timeKeeper)
TaggedCache< SHAMapHash, Blob > NodeCache
Validations< RCLValidationsAdaptor > RCLValidations
Alias for RCL-specific instantiation of generic Validations.