rippled
Public Member Functions | Private Attributes | List of all members
ripple::PeerSetImpl Class Reference
Inheritance diagram for ripple::PeerSetImpl:
Inheritance graph
[legend]
Collaboration diagram for ripple::PeerSetImpl:
Collaboration graph
[legend]

Public Member Functions

 PeerSetImpl (Application &app)
 
void addPeers (std::size_t limit, std::function< bool(std::shared_ptr< Peer > const &)> hasItem, std::function< void(std::shared_ptr< Peer > const &)> onPeerAdded) override
 Try add more peers. More...
 
void sendRequest (::google::protobuf::Message const &message, protocol::MessageType type, std::shared_ptr< Peer > const &peer) override
 Send a message to one or all peers. More...
 
const std::set< Peer::id_t > & getPeerIds () const override
 get the set of ids of previously added peers More...
 
template<typename MessageType >
void sendRequest (MessageType const &message, std::shared_ptr< Peer > const &peer)
 send a message More...
 

Private Attributes

Applicationapp_
 
beast::Journal journal_
 
std::set< Peer::id_tpeers_
 The identifiers of the peers we are tracking. More...
 

Detailed Description

Definition at line 27 of file PeerSet.cpp.

Constructor & Destructor Documentation

◆ PeerSetImpl()

ripple::PeerSetImpl::PeerSetImpl ( Application app)

Definition at line 58 of file PeerSet.cpp.

Member Function Documentation

◆ addPeers()

void ripple::PeerSetImpl::addPeers ( std::size_t  limit,
std::function< bool(std::shared_ptr< Peer > const &)>  hasItem,
std::function< void(std::shared_ptr< Peer > const &)>  onPeerAdded 
)
overridevirtual

Try add more peers.

Parameters
limitnumber of peers to add
hasItemcallback that helps to select peers
onPeerAddedcallback called when a peer is added

Implements ripple::PeerSet.

Definition at line 64 of file PeerSet.cpp.

◆ sendRequest() [1/2]

void ripple::PeerSetImpl::sendRequest ( ::google::protobuf::Message const &  message,
protocol::MessageType  type,
std::shared_ptr< Peer > const &  peer 
)
overridevirtual

Send a message to one or all peers.

Implements ripple::PeerSet.

Definition at line 101 of file PeerSet.cpp.

◆ getPeerIds()

const std::set< Peer::id_t > & ripple::PeerSetImpl::getPeerIds ( ) const
overridevirtual

get the set of ids of previously added peers

Implements ripple::PeerSet.

Definition at line 121 of file PeerSet.cpp.

◆ sendRequest() [2/2]

template<typename MessageType >
void ripple::PeerSet::sendRequest ( MessageType const &  message,
std::shared_ptr< Peer > const &  peer 
)
inherited

send a message

Definition at line 64 of file PeerSet.h.

Member Data Documentation

◆ app_

Application& ripple::PeerSetImpl::app_
private

Definition at line 51 of file PeerSet.cpp.

◆ journal_

beast::Journal ripple::PeerSetImpl::journal_
private

Definition at line 52 of file PeerSet.cpp.

◆ peers_

std::set<Peer::id_t> ripple::PeerSetImpl::peers_
private

The identifiers of the peers we are tracking.

Definition at line 55 of file PeerSet.cpp.