23  using PeersMap = std::unordered_map<dev::p2p::NodeID, std::shared_ptr<TaraxaPeer>>;
 
   46                                                           std::shared_ptr<TaraxaPeer> peer);
 
   71      const std::shared_ptr<PbftManager> pbft_mgr, std::function<
bool(
const std::shared_ptr<TaraxaPeer>&)> filter_func =
 
   72                                                       [](
const std::shared_ptr<TaraxaPeer>&) { 
return true; });
 
   82  const std::weak_ptr<dev::p2p::Host> 
host_;
 
 
PeersState contains common members and functions related to peers, host, etc... that are shared among...
Definition peers_state.hpp:21
 
void erasePeer(const dev::p2p::NodeID &node_id)
Definition peers_state.cpp:93
 
std::shared_ptr< TaraxaPeer > getMaxChainPeer(const std::shared_ptr< PbftManager > pbft_mgr, std::function< bool(const std::shared_ptr< TaraxaPeer > &)> filter_func=[](const std::shared_ptr< TaraxaPeer > &) { return true;})
Definition peers_state.cpp:153
 
std::shared_ptr< TaraxaPeer > getPeer(const dev::p2p::NodeID &node_id) const
Definition peers_state.cpp:10
 
std::shared_mutex peers_mutex_
Definition peers_state.hpp:85
 
void set_peer_malicious(const dev::p2p::NodeID &peer_id)
Marks peer as malicious.
Definition peers_state.cpp:111
 
const std::weak_ptr< dev::p2p::Host > host_
Definition peers_state.hpp:82
 
PeersMap pending_peers_
Definition peers_state.hpp:87
 
std::shared_ptr< TaraxaPeer > addPendingPeer(const dev::p2p::NodeID &node_id, const std::string &address)
Definition peers_state.cpp:76
 
ThreadSafeMap< dev::p2p::NodeID, std::chrono::steady_clock::time_point > malicious_peers_
Definition peers_state.hpp:89
 
bool is_peer_malicious(const dev::p2p::NodeID &peer_id)
Checks if peer is in malicious peers list.
Definition peers_state.cpp:115
 
std::pair< std::shared_ptr< TaraxaPeer >, std::string > getPacketSenderPeer(const dev::p2p::NodeID &node_id, SubprotocolPacketType packet_type) const
Get known peer based on packet sender and packet type. For StatusPacket peer can be obtained from pen...
Definition peers_state.cpp:32
 
const FullNodeConfig kConf
Definition peers_state.hpp:90
 
void handleMaliciousSyncPeer(const dev::p2p::NodeID &id)
Handle malicious peer.
Definition peers_state.cpp:142
 
std::shared_ptr< TaraxaPeer > getPendingPeer(const dev::p2p::NodeID &node_id) const
Definition peers_state.cpp:21
 
void disconnectPeer(const dev::p2p::NodeID &id)
Disconnect peer.
Definition peers_state.cpp:147
 
PeersMap getAllPeers() const
Definition peers_state.cpp:71
 
PeersMap peers_
Definition peers_state.hpp:86
 
std::vector< dev::p2p::NodeID > getAllPendingPeersIDs() const
Definition peers_state.cpp:60
 
std::shared_ptr< TaraxaPeer > setPeerAsReadyToSendMessages(dev::p2p::NodeID const &node_id, std::shared_ptr< TaraxaPeer > peer)
Definition peers_state.cpp:99
 
std::unordered_map< dev::p2p::NodeID, std::shared_ptr< TaraxaPeer > > PeersMap
Definition peers_state.hpp:23
 
size_t getPeersCount() const
Definition peers_state.cpp:87
 
Definition vote_manager.hpp:23
 
SubprotocolPacketType
SubprotocolPacketType is used in networking layer to differentiate packet types.
Definition packet_types.hpp:12