From 4a89729529b721f7c81548e8df6b3e01a20179c4 Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Fri, 7 Dec 2018 00:59:08 -0800 Subject: add INCOMING_PACKET_CONCURRENCY environment variable to be able to specify max threads for receive in controller --- service/OneService.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'service') diff --git a/service/OneService.cpp b/service/OneService.cpp index 1351cbfb..2223b9a8 100644 --- a/service/OneService.cpp +++ b/service/OneService.cpp @@ -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; -- cgit v1.2.3