rippled
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
xrpl::test::TestPeer Class Reference

Simulate a network peer. More...

Inheritance diagram for xrpl::test::TestPeer:
Inheritance graph
[legend]
Collaboration diagram for xrpl::test::TestPeer:
Collaboration graph
[legend]

Public Types

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

Public Member Functions

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

Public Attributes

std::string fingerprint_
 
bool ledgerReplayEnabled_
 
PublicKey nodePublicKey_
 

Detailed Description

Simulate a network peer.

Depending on the configured PeerFeature, it either supports the ProtocolFeature::LedgerReplay or not

Definition at line 173 of file LedgerReplay_test.cpp.

Member Typedef Documentation

◆ ptr

using xrpl::Peer::ptr = std::shared_ptr<Peer>
inherited

Definition at line 26 of file xrpld/overlay/Peer.h.

◆ id_t

using xrpl::Peer::id_t = std::uint32_t
inherited

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 33 of file xrpld/overlay/Peer.h.

Constructor & Destructor Documentation

◆ TestPeer()

xrpl::test::TestPeer::TestPeer ( bool  enableLedgerReplay)

Definition at line 176 of file LedgerReplay_test.cpp.

Member Function Documentation

◆ send()

void xrpl::test::TestPeer::send ( std::shared_ptr< Message > const &  m)
overridevirtual

Implements xrpl::Peer.

Definition at line 182 of file LedgerReplay_test.cpp.

◆ getRemoteAddress()

beast::IP::Endpoint xrpl::test::TestPeer::getRemoteAddress ( ) const
overridevirtual

Implements xrpl::Peer.

Definition at line 186 of file LedgerReplay_test.cpp.

◆ charge()

void xrpl::test::TestPeer::charge ( Resource::Charge const &  fee,
std::string const &  context = {} 
)
overridevirtual

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

Implements xrpl::Peer.

Definition at line 191 of file LedgerReplay_test.cpp.

◆ id()

id_t xrpl::test::TestPeer::id ( ) const
overridevirtual

Implements xrpl::Peer.

Definition at line 195 of file LedgerReplay_test.cpp.

◆ cluster()

bool xrpl::test::TestPeer::cluster ( ) const
overridevirtual

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

Implements xrpl::Peer.

Definition at line 200 of file LedgerReplay_test.cpp.

◆ isHighLatency()

bool xrpl::test::TestPeer::isHighLatency ( ) const
overridevirtual

Implements xrpl::Peer.

Definition at line 205 of file LedgerReplay_test.cpp.

◆ getScore()

int xrpl::test::TestPeer::getScore ( bool  ) const
overridevirtual

Implements xrpl::Peer.

Definition at line 210 of file LedgerReplay_test.cpp.

◆ getNodePublic()

PublicKey const & xrpl::test::TestPeer::getNodePublic ( ) const
overridevirtual

Implements xrpl::Peer.

Definition at line 215 of file LedgerReplay_test.cpp.

◆ json()

Json::Value xrpl::test::TestPeer::json ( )
overridevirtual

Implements xrpl::Peer.

Definition at line 220 of file LedgerReplay_test.cpp.

◆ supportsFeature()

bool xrpl::test::TestPeer::supportsFeature ( ProtocolFeature  f) const
overridevirtual

Implements xrpl::Peer.

Definition at line 225 of file LedgerReplay_test.cpp.

◆ publisherListSequence()

std::optional< std::size_t > xrpl::test::TestPeer::publisherListSequence ( PublicKey const &  ) const
overridevirtual

Implements xrpl::Peer.

Definition at line 232 of file LedgerReplay_test.cpp.

◆ setPublisherListSequence()

void xrpl::test::TestPeer::setPublisherListSequence ( PublicKey const &  ,
std::size_t const   
)
overridevirtual

Implements xrpl::Peer.

Definition at line 237 of file LedgerReplay_test.cpp.

◆ getClosedLedgerHash()

uint256 const & xrpl::test::TestPeer::getClosedLedgerHash ( ) const
overridevirtual

Implements xrpl::Peer.

Definition at line 241 of file LedgerReplay_test.cpp.

◆ hasLedger()

bool xrpl::test::TestPeer::hasLedger ( uint256 const &  hash,
std::uint32_t  seq 
) const
overridevirtual

Implements xrpl::Peer.

Definition at line 247 of file LedgerReplay_test.cpp.

◆ ledgerRange()

void xrpl::test::TestPeer::ledgerRange ( std::uint32_t minSeq,
std::uint32_t maxSeq 
) const
overridevirtual

Implements xrpl::Peer.

Definition at line 252 of file LedgerReplay_test.cpp.

◆ hasTxSet()

bool xrpl::test::TestPeer::hasTxSet ( uint256 const &  hash) const
overridevirtual

Implements xrpl::Peer.

Definition at line 256 of file LedgerReplay_test.cpp.

◆ cycleStatus()

void xrpl::test::TestPeer::cycleStatus ( )
overridevirtual

Implements xrpl::Peer.

Definition at line 261 of file LedgerReplay_test.cpp.

◆ hasRange()

bool xrpl::test::TestPeer::hasRange ( std::uint32_t  uMin,
std::uint32_t  uMax 
)
overridevirtual

Implements xrpl::Peer.

Definition at line 265 of file LedgerReplay_test.cpp.

◆ compressionEnabled()

bool xrpl::test::TestPeer::compressionEnabled ( ) const
overridevirtual

Implements xrpl::Peer.

Definition at line 270 of file LedgerReplay_test.cpp.

◆ sendTxQueue()

void xrpl::test::TestPeer::sendTxQueue ( )
overridevirtual

Send aggregated transactions' hashes.

Implements xrpl::Peer.

Definition at line 275 of file LedgerReplay_test.cpp.

◆ addTxQueue()

void xrpl::test::TestPeer::addTxQueue ( uint256 const &  )
overridevirtual

Aggregate transaction's hash.

Implements xrpl::Peer.

Definition at line 279 of file LedgerReplay_test.cpp.

◆ removeTxQueue()

void xrpl::test::TestPeer::removeTxQueue ( uint256 const &  )
overridevirtual

Remove hash from the transactions' hashes queue.

Implements xrpl::Peer.

Definition at line 283 of file LedgerReplay_test.cpp.

◆ txReduceRelayEnabled()

bool xrpl::test::TestPeer::txReduceRelayEnabled ( ) const
overridevirtual

Implements xrpl::Peer.

Definition at line 287 of file LedgerReplay_test.cpp.

◆ fingerprint()

std::string const & xrpl::test::TestPeer::fingerprint ( ) const
overridevirtual

Implements xrpl::Peer.

Definition at line 293 of file LedgerReplay_test.cpp.

Member Data Documentation

◆ fingerprint_

std::string xrpl::test::TestPeer::fingerprint_

Definition at line 298 of file LedgerReplay_test.cpp.

◆ ledgerReplayEnabled_

bool xrpl::test::TestPeer::ledgerReplayEnabled_

Definition at line 299 of file LedgerReplay_test.cpp.

◆ nodePublicKey_

PublicKey xrpl::test::TestPeer::nodePublicKey_

Definition at line 300 of file LedgerReplay_test.cpp.