BeeeOn Gateway  v2020.3.1-2-g6f737dc
Platform to interconnect the IoT world
HavingThreadPool.h
1 #pragma once
2 
3 #include <Poco/SharedPtr.h>
4 #include <Poco/ThreadPool.h>
5 #include <Poco/Timespan.h>
6 
7 #include "util/Loggable.h"
8 
9 namespace BeeeOn {
10 
11 class HavingThreadPool : protected virtual Loggable {
12 public:
14  virtual ~HavingThreadPool();
15 
16  void setMinThreads(int min);
17  void setMaxThreads(int max);
18  void setThreadIdleTime(const Poco::Timespan &time);
19 
20  Poco::ThreadPool &pool();
21 
22 protected:
23  void initPool();
24 
25 private:
26  int m_minThreads;
27  int m_maxThreads;
28  Poco::Timespan m_threadIdleTime;
29  Poco::SharedPtr<Poco::ThreadPool> m_pool;
30 };
31 
32 }
Definition: HavingThreadPool.h:11
Definition: Loggable.h:19