mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 22:50:59 +01:00
[net/refactor] Add AddrFetch connections to ConnectionType enum
- AddrFetch connections are short lived connections used to getaddr from a peer - previously called "one shot" connections
This commit is contained in:
13
src/net.cpp
13
src/net.cpp
@@ -1731,7 +1731,7 @@ void CConnman::ProcessAddrFetch()
|
||||
CAddress addr;
|
||||
CSemaphoreGrant grant(*semOutbound, true);
|
||||
if (grant) {
|
||||
OpenNetworkConnection(addr, false, &grant, strDest.c_str(), true);
|
||||
OpenNetworkConnection(addr, false, &grant, strDest.c_str(), ConnectionType::ADDR_FETCH);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1777,7 +1777,7 @@ void CConnman::ThreadOpenConnections(const std::vector<std::string> connect)
|
||||
for (const std::string& strAddr : connect)
|
||||
{
|
||||
CAddress addr(CService(), NODE_NONE);
|
||||
OpenNetworkConnection(addr, false, nullptr, strAddr.c_str(), false, ConnectionType::MANUAL);
|
||||
OpenNetworkConnection(addr, false, nullptr, strAddr.c_str(), ConnectionType::MANUAL);
|
||||
for (int i = 0; i < 10 && i < nLoop; i++)
|
||||
{
|
||||
if (!interruptNet.sleep_for(std::chrono::milliseconds(500)))
|
||||
@@ -1948,7 +1948,7 @@ void CConnman::ThreadOpenConnections(const std::vector<std::string> connect)
|
||||
conn_type = ConnectionType::OUTBOUND;
|
||||
}
|
||||
|
||||
OpenNetworkConnection(addrConnect, (int)setConnected.size() >= std::min(nMaxConnections - 1, 2), &grant, nullptr, false, conn_type);
|
||||
OpenNetworkConnection(addrConnect, (int)setConnected.size() >= std::min(nMaxConnections - 1, 2), &grant, nullptr, conn_type);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2023,7 +2023,7 @@ void CConnman::ThreadOpenAddedConnections()
|
||||
}
|
||||
tried = true;
|
||||
CAddress addr(CService(), NODE_NONE);
|
||||
OpenNetworkConnection(addr, false, &grant, info.strAddedNode.c_str(), false, ConnectionType::MANUAL);
|
||||
OpenNetworkConnection(addr, false, &grant, info.strAddedNode.c_str(), ConnectionType::MANUAL);
|
||||
if (!interruptNet.sleep_for(std::chrono::milliseconds(500)))
|
||||
return;
|
||||
}
|
||||
@@ -2035,7 +2035,7 @@ void CConnman::ThreadOpenAddedConnections()
|
||||
}
|
||||
|
||||
// if successful, this moves the passed grant to the constructed node
|
||||
void CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound, const char *pszDest, bool m_addr_fetch, ConnectionType conn_type)
|
||||
void CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound, const char *pszDest, ConnectionType conn_type)
|
||||
{
|
||||
assert(conn_type != ConnectionType::INBOUND);
|
||||
|
||||
@@ -2062,8 +2062,6 @@ void CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFai
|
||||
return;
|
||||
if (grantOutbound)
|
||||
grantOutbound->MoveTo(pnode->grantOutbound);
|
||||
if (m_addr_fetch)
|
||||
pnode->m_addr_fetch = true;
|
||||
|
||||
m_msgproc->InitializeNode(pnode);
|
||||
{
|
||||
@@ -2742,6 +2740,7 @@ CNode::CNode(NodeId idIn, ServiceFlags nLocalServicesIn, int nMyStartingHeightIn
|
||||
addr(addrIn),
|
||||
addrBind(addrBindIn),
|
||||
fFeeler(conn_type_in == ConnectionType::FEELER),
|
||||
m_addr_fetch(conn_type_in == ConnectionType::ADDR_FETCH),
|
||||
m_manual_connection(conn_type_in == ConnectionType::MANUAL),
|
||||
fInbound(conn_type_in == ConnectionType::INBOUND),
|
||||
nKeyedNetGroup(nKeyedNetGroupIn),
|
||||
|
||||
Reference in New Issue
Block a user