19 using PeersMap = std::unordered_map<dev::p2p::NodeID, std::shared_ptr<TaraxaPeer>>;
42 std::shared_ptr<TaraxaPeer> peer);
57 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:17
void erasePeer(const dev::p2p::NodeID &node_id)
Definition: peers_state.cpp:91
std::shared_ptr< TaraxaPeer > getPeer(const dev::p2p::NodeID &node_id) const
Definition: peers_state.cpp:8
std::shared_mutex peers_mutex_
Definition: peers_state.hpp:60
void set_peer_malicious(const dev::p2p::NodeID &peer_id)
Marks peer as malicious.
Definition: peers_state.cpp:109
const std::weak_ptr< dev::p2p::Host > host_
Definition: peers_state.hpp:57
PeersMap pending_peers_
Definition: peers_state.hpp:62
std::shared_ptr< TaraxaPeer > addPendingPeer(const dev::p2p::NodeID &node_id, const std::string &address)
Definition: peers_state.cpp:74
ThreadSafeMap< dev::p2p::NodeID, std::chrono::steady_clock::time_point > malicious_peers_
Definition: peers_state.hpp:64
bool is_peer_malicious(const dev::p2p::NodeID &peer_id)
Checks if peer is in malicious peers list.
Definition: peers_state.cpp:113
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:30
const FullNodeConfig kConf
Definition: peers_state.hpp:65
std::shared_ptr< TaraxaPeer > getPendingPeer(const dev::p2p::NodeID &node_id) const
Definition: peers_state.cpp:19
PeersMap getAllPeers() const
Definition: peers_state.cpp:69
PeersMap peers_
Definition: peers_state.hpp:61
std::vector< dev::p2p::NodeID > getAllPendingPeersIDs() const
Definition: peers_state.cpp:58
std::shared_ptr< TaraxaPeer > setPeerAsReadyToSendMessages(dev::p2p::NodeID const &node_id, std::shared_ptr< TaraxaPeer > peer)
Definition: peers_state.cpp:97
std::unordered_map< dev::p2p::NodeID, std::shared_ptr< TaraxaPeer > > PeersMap
Definition: peers_state.hpp:19
size_t getPeersCount() const
Definition: peers_state.cpp:85
PeersState(std::weak_ptr< dev::p2p::Host > host, const FullNodeConfig &conf)
Definition: peers_state.cpp:5
Definition: vote_manager.hpp:23
SubprotocolPacketType
SubprotocolPacketType is used in networking layer to differentiate packet types.
Definition: packet_types.hpp:12
Definition: config.hpp:24