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>
30 class SharedWeakUnionPointer,
31 class SharedPointerType,
80template <
class Adaptor>
107 setup(boost::program_options::variables_map
const& options) = 0;
115 [[nodiscard]]
virtual bool
144 [[nodiscard]]
virtual int
153 [[nodiscard]]
virtual size_t
Subclasses can be called to write to a stream and have children.
A ledger that has become irrevocable.
The amendment table stores the list of enabled and potential amendments.
virtual size_t getNumberOfThreads() const =0
Returns the number of io_context (I/O worker) threads used by the application.
virtual bool setup(boost::program_options::variables_map const &options)=0
virtual std::chrono::milliseconds getIOLatency()=0
std::recursive_mutex MutexType
virtual Config & config()=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 void signalStop(std::string const &msg)=0
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
Provides the beast::insight::Collector service.
Routing table for objects identified by hash.
Manages the lifetime of inbound ledgers.
Manages the acquisition and lifetime of transaction sets.
A pool of threads to perform work.
Check the ledger/transaction databases to make sure they have continuity.
Manages the lifetime of ledger replay tasks.
Manages the current fee schedule.
Manages partitions for logging.
Remembers manifests with the highest sequence number.
Provides server functionality for clients.
Represents the open ledger.
Tracks order books in the ledger.
Manages the set of connected peers.
Keeps track of which ledgers haven't been fully saved.
Generic validations adaptor class for RCL.
class to create database, launch online delete thread, and related SQLite database
ServiceRegistry()=default
Manages various times used by the server.
Maintains current and recent ledger validations.
Validator keys and manifest as set in configuration file.
Singleton class that maintains performance counters and optionally writes Json-formatted data to a di...
Dummy class for unit tests.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::uint32_t LedgerIndex
A ledger index.
Validations< RCLValidationsAdaptor > RCLValidations
Alias for RCL-specific instantiation of generic Validations.
TaggedCache< uint256, SLE const > CachedSLEs
std::unique_ptr< Application > makeApplication(std::unique_ptr< Config > config, std::unique_ptr< Logs > logs, std::unique_ptr< TimeKeeper > timeKeeper)
TaggedCache< SHAMapHash, Blob > NodeCache