net: move MAX_FEELER_CONNECTIONS into connman

This commit is contained in:
Cory Fields 2016-08-31 13:17:28 -04:00
parent e700cd0bc8
commit 0103c5b90f
3 changed files with 8 additions and 9 deletions

View File

@ -1520,6 +1520,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler)
connOptions.nRelevantServices = nRelevantServices;
connOptions.nMaxConnections = nMaxConnections;
connOptions.nMaxOutbound = std::min(MAX_OUTBOUND_CONNECTIONS, connOptions.nMaxConnections);
connOptions.nMaxFeeler = 1;
connOptions.nBestHeight = chainActive.Height();
connOptions.uiInterface = &uiInterface;
connOptions.nSendBufferMaxSize = 1000*GetArg("-maxsendbuffer", DEFAULT_MAXSENDBUFFER);

View File

@ -61,11 +61,6 @@
#endif
#endif
namespace {
const int MAX_FEELER_CONNECTIONS = 1;
}
const static std::string NET_MESSAGE_COMMAND_OTHER = "*other*";
//
@ -971,7 +966,7 @@ void CConnman::AcceptConnection(const ListenSocket& hListenSocket) {
SOCKET hSocket = accept(hListenSocket.socket, (struct sockaddr*)&sockaddr, &len);
CAddress addr;
int nInbound = 0;
int nMaxInbound = nMaxConnections - (nMaxOutbound + MAX_FEELER_CONNECTIONS);
int nMaxInbound = nMaxConnections - (nMaxOutbound + nMaxFeeler);
assert(nMaxInbound > 0);
if (hSocket != INVALID_SOCKET)
@ -1624,7 +1619,7 @@ void CConnman::ThreadOpenConnections()
}
}
}
assert(nOutbound <= (nMaxOutbound + MAX_FEELER_CONNECTIONS));
assert(nOutbound <= (nMaxOutbound + nMaxFeeler));
// Feeler Connections
//
@ -2060,6 +2055,7 @@ bool CConnman::Start(boost::thread_group& threadGroup, CScheduler& scheduler, st
nLocalServices = connOptions.nLocalServices;
nMaxConnections = connOptions.nMaxConnections;
nMaxOutbound = std::min((connOptions.nMaxOutbound), nMaxConnections);
nMaxFeeler = connOptions.nMaxFeeler;
nSendBufferMaxSize = connOptions.nSendBufferMaxSize;
nReceiveFloodSize = connOptions.nSendBufferMaxSize;
@ -2106,7 +2102,7 @@ bool CConnman::Start(boost::thread_group& threadGroup, CScheduler& scheduler, st
if (semOutbound == NULL) {
// initialize semaphore
semOutbound = new CSemaphore(std::min((nMaxOutbound + MAX_FEELER_CONNECTIONS), nMaxConnections));
semOutbound = new CSemaphore(std::min((nMaxOutbound + nMaxFeeler), nMaxConnections));
}
if (pnodeLocalHost == NULL) {
@ -2162,7 +2158,7 @@ void CConnman::Stop()
{
LogPrintf("%s\n",__func__);
if (semOutbound)
for (int i=0; i<(nMaxOutbound + MAX_FEELER_CONNECTIONS); i++)
for (int i=0; i<(nMaxOutbound + nMaxFeeler); i++)
semOutbound->post();
if (fAddressesInitialized)

View File

@ -115,6 +115,7 @@ public:
ServiceFlags nRelevantServices = NODE_NONE;
int nMaxConnections = 0;
int nMaxOutbound = 0;
int nMaxFeeler = 0;
int nBestHeight = 0;
CClientUIInterface* uiInterface = nullptr;
unsigned int nSendBufferMaxSize = 0;
@ -384,6 +385,7 @@ private:
CSemaphore *semOutbound;
int nMaxConnections;
int nMaxOutbound;
int nMaxFeeler;
std::atomic<int> nBestHeight;
CClientUIInterface* clientInterface;
};