@ -342,8 +342,8 @@ CNode* CConnman::ConnectNode(CAddress addrConnect, const char *pszDest, bool fCo
@@ -342,8 +342,8 @@ CNode* CConnman::ConnectNode(CAddress addrConnect, const char *pszDest, bool fCo
CNode * pnode = FindNode ( ( CService ) addrConnect ) ;
if ( pnode )
{
pnode - > AddRef ( ) ;
return pnode ;
LogPrintf ( " Failed to open new connection, already connected \n " ) ;
return NULL ;
}
}
@ -369,18 +369,16 @@ CNode* CConnman::ConnectNode(CAddress addrConnect, const char *pszDest, bool fCo
@@ -369,18 +369,16 @@ CNode* CConnman::ConnectNode(CAddress addrConnect, const char *pszDest, bool fCo
// In that case, drop the connection that was just created, and return the existing CNode instead.
// Also store the name we used to connect in that CNode, so that future FindNode() calls to that
// name catch this early.
LOCK ( cs_vNodes ) ;
CNode * pnode = FindNode ( ( CService ) addrConnect ) ;
if ( pnode )
{
pnode - > AddRef ( ) ;
{
LOCK ( cs_vNodes ) ;
if ( pnode - > addrName . empty ( ) ) {
pnode - > addrName = std : : string ( pszDest ) ;
}
if ( pnode - > addrName . empty ( ) ) {
pnode - > addrName = std : : string ( pszDest ) ;
}
CloseSocket ( hSocket ) ;
return pnode ;
LogPrintf ( " Failed to open new connection, already connected \n " ) ;
return NULL ;
}
}
@ -393,11 +391,6 @@ CNode* CConnman::ConnectNode(CAddress addrConnect, const char *pszDest, bool fCo
@@ -393,11 +391,6 @@ CNode* CConnman::ConnectNode(CAddress addrConnect, const char *pszDest, bool fCo
pnode - > nServicesExpected = ServiceFlags ( addrConnect . nServices & nRelevantServices ) ;
pnode - > nTimeConnected = GetSystemTimeInSeconds ( ) ;
pnode - > AddRef ( ) ;
GetNodeSignals ( ) . InitializeNode ( pnode , * this ) ;
{
LOCK ( cs_vNodes ) ;
vNodes . push_back ( pnode ) ;
}
return pnode ;
} else if ( ! proxyConnectionFailed ) {
@ -1840,6 +1833,12 @@ bool CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFai
@@ -1840,6 +1833,12 @@ bool CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFai
if ( fAddnode )
pnode - > fAddnode = true ;
{
LOCK ( cs_vNodes ) ;
vNodes . push_back ( pnode ) ;
}
GetNodeSignals ( ) . InitializeNode ( pnode , * this ) ;
return true ;
}
@ -2371,26 +2370,9 @@ void CConnman::GetNodeStats(std::vector<CNodeStats>& vstats)
@@ -2371,26 +2370,9 @@ void CConnman::GetNodeStats(std::vector<CNodeStats>& vstats)
}
}
bool CConnman : : DisconnectAddress ( const CNetAddr & netAddr )
{
if ( CNode * pnode = FindNode ( netAddr ) ) {
pnode - > fDisconnect = true ;
return true ;
}
return false ;
}
bool CConnman : : DisconnectSubnet ( const CSubNet & subNet )
{
if ( CNode * pnode = FindNode ( subNet ) ) {
pnode - > fDisconnect = true ;
return true ;
}
return false ;
}
bool CConnman : : DisconnectNode ( const std : : string & strNode )
{
LOCK ( cs_vNodes ) ;
if ( CNode * pnode = FindNode ( strNode ) ) {
pnode - > fDisconnect = true ;
return true ;
@ -2409,16 +2391,6 @@ bool CConnman::DisconnectNode(NodeId id)
@@ -2409,16 +2391,6 @@ bool CConnman::DisconnectNode(NodeId id)
return false ;
}
void CConnman : : RelayTransaction ( const CTransaction & tx )
{
CInv inv ( MSG_TX , tx . GetHash ( ) ) ;
LOCK ( cs_vNodes ) ;
BOOST_FOREACH ( CNode * pnode , vNodes )
{
pnode - > PushInventory ( inv ) ;
}
}
void CConnman : : RecordBytesRecv ( uint64_t bytes )
{
LOCK ( cs_totalBytesRecv ) ;