|
|
|
|
@ -607,7 +607,17 @@ public:
|
|
|
|
|
_ports[1] = 0; |
|
|
|
|
_ports[2] = 0; |
|
|
|
|
|
|
|
|
|
_incomingPacketConcurrency = std::max((unsigned long)1,std::min((unsigned long)16,(unsigned long)std::thread::hardware_concurrency())); |
|
|
|
|
char *envPool = std::getenv("INCOMING_PACKET_CONCURRENCY"); |
|
|
|
|
if (envPool != NULL) { |
|
|
|
|
int tmp = atoi(envPool); |
|
|
|
|
if (tmp > 0) { |
|
|
|
|
_incomingPacketConcurrency = tmp; |
|
|
|
|
} else { |
|
|
|
|
_incomingPacketConcurrency = std::max((unsigned long)1,std::min((unsigned long)16,(unsigned long)std::thread::hardware_concurrency())); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
_incomingPacketConcurrency = std::max((unsigned long)1,std::min((unsigned long)16,(unsigned long)std::thread::hardware_concurrency())); |
|
|
|
|
} |
|
|
|
|
for(long t=0;t<_incomingPacketConcurrency;++t) { |
|
|
|
|
_incomingPacketThreads.push_back(std::thread([this]() { |
|
|
|
|
OneServiceIncomingPacket *pkt = nullptr; |
|
|
|
|
|