rippled
Public Types | Public Member Functions | List of all members
ripple::Peer Class Referenceabstract

Represents a peer connection in the overlay. More...

Inheritance diagram for ripple::Peer:
Inheritance graph
[legend]

Public Types

using ptr = std::shared_ptr< Peer >
 
using id_t = std::uint32_t
 Uniquely identifies a peer. More...
 

Public Member Functions

virtual ~Peer ()=default
 
virtual void send (std::shared_ptr< Message > const &m)=0
 
virtual beast::IP::Endpoint getRemoteAddress () const =0
 
virtual void sendTxQueue ()=0
 Send aggregated transactions' hashes. More...
 
virtual void addTxQueue (uint256 const &)=0
 Aggregate transaction's hash. More...
 
virtual void removeTxQueue (uint256 const &)=0
 Remove hash from the transactions' hashes queue. More...
 
virtual void charge (Resource::Charge const &fee)=0
 Adjust this peer's load balance based on the type of load imposed. More...
 
virtual id_t id () const =0
 
virtual bool cluster () const =0
 Returns true if this connection is a member of the cluster. More...
 
virtual bool isHighLatency () const =0
 
virtual int getScore (bool) const =0
 
virtual PublicKey const & getNodePublic () const =0
 
virtual Json::Value json ()=0
 
virtual bool supportsFeature (ProtocolFeature f) const =0
 
virtual std::optional< std::size_tpublisherListSequence (PublicKey const &) const =0
 
virtual void setPublisherListSequence (PublicKey const &, std::size_t const)=0
 
virtual uint256 const & getClosedLedgerHash () const =0
 
virtual bool hasLedger (uint256 const &hash, std::uint32_t seq) const =0
 
virtual void ledgerRange (std::uint32_t &minSeq, std::uint32_t &maxSeq) const =0
 
virtual bool hasTxSet (uint256 const &hash) const =0
 
virtual void cycleStatus ()=0
 
virtual bool hasRange (std::uint32_t uMin, std::uint32_t uMax)=0
 
virtual bool compressionEnabled () const =0
 
virtual bool txReduceRelayEnabled () const =0
 

Detailed Description

Represents a peer connection in the overlay.

Definition at line 45 of file ripple/overlay/Peer.h.

Member Typedef Documentation

◆ ptr

Definition at line 48 of file ripple/overlay/Peer.h.

◆ id_t

Uniquely identifies a peer.

This can be stored in tables to find the peer later. Callers can discover if the peer is no longer connected and make adjustments as needed.

Definition at line 55 of file ripple/overlay/Peer.h.

Constructor & Destructor Documentation

◆ ~Peer()

virtual ripple::Peer::~Peer ( )
virtualdefault

Member Function Documentation

◆ send()

virtual void ripple::Peer::send ( std::shared_ptr< Message > const &  m)
pure virtual

◆ getRemoteAddress()

virtual beast::IP::Endpoint ripple::Peer::getRemoteAddress ( ) const
pure virtual

◆ sendTxQueue()

virtual void ripple::Peer::sendTxQueue ( )
pure virtual

Send aggregated transactions' hashes.

Implemented in ripple::test::TestPeer, ripple::PeerImp, and ripple::test::PeerPartial.

◆ addTxQueue()

virtual void ripple::Peer::addTxQueue ( uint256 const &  )
pure virtual

◆ removeTxQueue()

virtual void ripple::Peer::removeTxQueue ( uint256 const &  )
pure virtual

Remove hash from the transactions' hashes queue.

Implemented in ripple::PeerImp, ripple::test::TestPeer, and ripple::test::PeerPartial.

◆ charge()

virtual void ripple::Peer::charge ( Resource::Charge const &  fee)
pure virtual

Adjust this peer's load balance based on the type of load imposed.

Implemented in ripple::PeerImp, ripple::test::TestPeer, and ripple::test::PeerPartial.

◆ id()

virtual id_t ripple::Peer::id ( ) const
pure virtual

◆ cluster()

virtual bool ripple::Peer::cluster ( ) const
pure virtual

Returns true if this connection is a member of the cluster.

Implemented in ripple::PeerImp, ripple::test::TestPeer, and ripple::test::PeerPartial.

◆ isHighLatency()

virtual bool ripple::Peer::isHighLatency ( ) const
pure virtual

◆ getScore()

virtual int ripple::Peer::getScore ( bool  ) const
pure virtual

◆ getNodePublic()

virtual PublicKey const& ripple::Peer::getNodePublic ( ) const
pure virtual

◆ json()

virtual Json::Value ripple::Peer::json ( )
pure virtual

◆ supportsFeature()

virtual bool ripple::Peer::supportsFeature ( ProtocolFeature  f) const
pure virtual

◆ publisherListSequence()

virtual std::optional<std::size_t> ripple::Peer::publisherListSequence ( PublicKey const &  ) const
pure virtual

◆ setPublisherListSequence()

virtual void ripple::Peer::setPublisherListSequence ( PublicKey const &  ,
std::size_t const   
)
pure virtual

◆ getClosedLedgerHash()

virtual uint256 const& ripple::Peer::getClosedLedgerHash ( ) const
pure virtual

◆ hasLedger()

virtual bool ripple::Peer::hasLedger ( uint256 const &  hash,
std::uint32_t  seq 
) const
pure virtual

◆ ledgerRange()

virtual void ripple::Peer::ledgerRange ( std::uint32_t minSeq,
std::uint32_t maxSeq 
) const
pure virtual

◆ hasTxSet()

virtual bool ripple::Peer::hasTxSet ( uint256 const &  hash) const
pure virtual

◆ cycleStatus()

virtual void ripple::Peer::cycleStatus ( )
pure virtual

◆ hasRange()

virtual bool ripple::Peer::hasRange ( std::uint32_t  uMin,
std::uint32_t  uMax 
)
pure virtual

◆ compressionEnabled()

virtual bool ripple::Peer::compressionEnabled ( ) const
pure virtual

◆ txReduceRelayEnabled()

virtual bool ripple::Peer::txReduceRelayEnabled ( ) const
pure virtual