31 CurlHandleContainer(
unsigned maxSize = 50,
long httpRequestTimeout = 0,
long connectTimeout = 1000,
bool tcpKeepAlive =
true,
32 unsigned long tcpKeepAliveIntervalMs = 30000,
long lowSpeedTime = 3000,
unsigned long lowSpeedLimit = 1);
56 CURL* CreateCurlHandleInPool();
57 bool CheckAndGrowPool();
58 void SetDefaultOptionsOnHandle(CURL* handle);
61 unsigned m_maxPoolSize;
62 unsigned long m_httpRequestTimeout;
63 unsigned long m_connectTimeout;
64 bool m_enableTcpKeepAlive;
65 unsigned long m_tcpKeepAliveIntervalMs;
66 unsigned long m_lowSpeedTime;
67 unsigned long m_lowSpeedLimit;
69 std::mutex m_containerLock;
CurlHandleContainer(unsigned maxSize=50, long httpRequestTimeout=0, long connectTimeout=1000, bool tcpKeepAlive=true, unsigned long tcpKeepAliveIntervalMs=30000, long lowSpeedTime=3000, unsigned long lowSpeedLimit=1)
CURL * AcquireCurlHandle()
void ReleaseCurlHandle(CURL *handle)
void DestroyCurlHandle(CURL *handle)