|
|
@ -251,6 +251,19 @@ public:
|
|
|
|
void GetBanned(banmap_t &banmap);
|
|
|
|
void GetBanned(banmap_t &banmap);
|
|
|
|
void SetBanned(const banmap_t &banmap);
|
|
|
|
void SetBanned(const banmap_t &banmap);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// This allows temporarily exceeding nMaxOutbound, with the goal of finding
|
|
|
|
|
|
|
|
// a peer that is better than all our current peers.
|
|
|
|
|
|
|
|
void SetTryNewOutboundPeer(bool flag);
|
|
|
|
|
|
|
|
bool GetTryNewOutboundPeer();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Return the number of outbound peers we have in excess of our target (eg,
|
|
|
|
|
|
|
|
// if we previously called SetTryNewOutboundPeer(true), and have since set
|
|
|
|
|
|
|
|
// to false, we may have extra peers that we wish to disconnect). This may
|
|
|
|
|
|
|
|
// return a value less than (num_outbound_connections - num_outbound_slots)
|
|
|
|
|
|
|
|
// in cases where some outbound connections are not yet fully connected, or
|
|
|
|
|
|
|
|
// not yet fully disconnected.
|
|
|
|
|
|
|
|
int GetExtraOutboundCount();
|
|
|
|
|
|
|
|
|
|
|
|
bool AddNode(const std::string& node);
|
|
|
|
bool AddNode(const std::string& node);
|
|
|
|
bool RemoveAddedNode(const std::string& node);
|
|
|
|
bool RemoveAddedNode(const std::string& node);
|
|
|
|
std::vector<AddedNodeInfo> GetAddedNodeInfo();
|
|
|
|
std::vector<AddedNodeInfo> GetAddedNodeInfo();
|
|
|
@ -413,6 +426,11 @@ private:
|
|
|
|
std::thread threadOpenAddedConnections;
|
|
|
|
std::thread threadOpenAddedConnections;
|
|
|
|
std::thread threadOpenConnections;
|
|
|
|
std::thread threadOpenConnections;
|
|
|
|
std::thread threadMessageHandler;
|
|
|
|
std::thread threadMessageHandler;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** flag for deciding to connect to an extra outbound peer,
|
|
|
|
|
|
|
|
* in excess of nMaxOutbound
|
|
|
|
|
|
|
|
* This takes the place of a feeler connection */
|
|
|
|
|
|
|
|
std::atomic_bool m_try_another_outbound_peer;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
extern std::unique_ptr<CConnman> g_connman;
|
|
|
|
extern std::unique_ptr<CConnman> g_connman;
|
|
|
|
void Discover(boost::thread_group& threadGroup);
|
|
|
|
void Discover(boost::thread_group& threadGroup);
|
|
|
|