net: move OpenNetworkConnection into CConnman

This commit is contained in:
Cory Fields 2016-04-16 15:59:10 -04:00
parent 02137f11e2
commit b1a5f43208
3 changed files with 9 additions and 4 deletions

View file

@ -375,7 +375,7 @@ CNode* FindNode(const NodeId nodeid)
return NULL;
}
CNode* ConnectNode(CAddress addrConnect, const char *pszDest, bool fCountFailure)
CNode* CConnman::ConnectNode(CAddress addrConnect, const char *pszDest, bool fCountFailure)
{
if (pszDest == NULL) {
if (IsLocal(addrConnect))
@ -1809,7 +1809,7 @@ void CConnman::ThreadOpenAddedConnections()
}
// if successful, this moves the passed grant to the constructed node
bool OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound, const char *pszDest, bool fOneShot, bool fFeeler)
bool CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound, const char *pszDest, bool fOneShot, bool fFeeler)
{
//
// Initiate outbound network connection

View file

@ -93,7 +93,6 @@ CNode* FindNode(const CSubNet& subNet);
CNode* FindNode(const std::string& addrName);
CNode* FindNode(const CService& ip);
CNode* FindNode(const NodeId id); //TODO: Remove this
bool OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound = NULL, const char *strDest = NULL, bool fOneShot = false, bool fFeeler = false);
class CConnman
{
@ -103,6 +102,7 @@ public:
bool Start(boost::thread_group& threadGroup, std::string& strNodeError);
void Stop();
bool BindListenPort(const CService &bindAddr, std::string& strError, bool fWhitelisted = false);
bool OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound = NULL, const char *strDest = NULL, bool fOneShot = false, bool fFeeler = false);
private:
struct ListenSocket {
@ -120,6 +120,8 @@ private:
void ThreadSocketHandler();
void ThreadDNSAddressSeed();
CNode* ConnectNode(CAddress addrConnect, const char *pszDest, bool fCountFailure);
std::vector<ListenSocket> vhListenSocket;
};
extern std::unique_ptr<CConnman> g_connman;

View file

@ -214,12 +214,15 @@ UniValue addnode(const UniValue& params, bool fHelp)
+ HelpExampleRpc("addnode", "\"192.168.0.6:8333\", \"onetry\"")
);
if(!g_connman)
throw JSONRPCError(RPC_CLIENT_P2P_DISABLED, "Error: Peer-to-peer functionality missing or disabled");
string strNode = params[0].get_str();
if (strCommand == "onetry")
{
CAddress addr;
OpenNetworkConnection(addr, false, NULL, strNode.c_str());
g_connman->OpenNetworkConnection(addr, false, NULL, strNode.c_str());
return NullUniValue;
}