20#ifndef RIPPLE_OVERLAY_PEER_H_INCLUDED 
   21#define RIPPLE_OVERLAY_PEER_H_INCLUDED 
   23#include <xrpld/overlay/Message.h> 
   25#include <xrpl/basics/base_uint.h> 
   26#include <xrpl/beast/net/IPEndpoint.h> 
   27#include <xrpl/json/json_value.h> 
   28#include <xrpl/protocol/PublicKey.h> 
A version-independent IP address and port combination.
 
Represents a peer connection in the overlay.
 
virtual bool isHighLatency() const =0
 
virtual bool txReduceRelayEnabled() const =0
 
virtual bool supportsFeature(ProtocolFeature f) const =0
 
virtual int getScore(bool) const =0
 
virtual std::string const & fingerprint() const =0
 
virtual beast::IP::Endpoint getRemoteAddress() const =0
 
virtual Json::Value json()=0
 
virtual void send(std::shared_ptr< Message > const &m)=0
 
virtual bool compressionEnabled() const =0
 
virtual void cycleStatus()=0
 
virtual std::optional< std::size_t > publisherListSequence(PublicKey const &) const =0
 
virtual bool hasLedger(uint256 const &hash, std::uint32_t seq) const =0
 
virtual bool cluster() const =0
Returns true if this connection is a member of the cluster.
 
virtual void addTxQueue(uint256 const &)=0
Aggregate transaction's hash.
 
virtual bool hasRange(std::uint32_t uMin, std::uint32_t uMax)=0
 
virtual void sendTxQueue()=0
Send aggregated transactions' hashes.
 
virtual PublicKey const & getNodePublic() const =0
 
virtual void ledgerRange(std::uint32_t &minSeq, std::uint32_t &maxSeq) const =0
 
virtual void removeTxQueue(uint256 const &)=0
Remove hash from the transactions' hashes queue.
 
virtual uint256 const & getClosedLedgerHash() const =0
 
virtual void setPublisherListSequence(PublicKey const &, std::size_t const)=0
 
virtual bool hasTxSet(uint256 const &hash) const =0
 
virtual void charge(Resource::Charge const &fee, std::string const &context)=0
Adjust this peer's load balance based on the type of load imposed.
 
virtual id_t id() const =0
 
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
 
@ ValidatorListPropagation
 
@ ValidatorList2Propagation