Browse Source

net: move MAX_FEELER_CONNECTIONS into connman

0.14
Cory Fields 8 years ago
parent
commit
0103c5b90f
  1. 1
      src/init.cpp
  2. 14
      src/net.cpp
  3. 2
      src/net.h

1
src/init.cpp

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

14
src/net.cpp

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

2
src/net.h

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

Loading…
Cancel
Save