19class DataArrayAbstractTcp :
public AbstractThreadPool {
22 ErrorTransmitInvoke = -100,
23 ErrorTransmitNotActive = -101,
26 DataArrayAbstractTcp(
const std::string &);
27 void init(
int readTimeout = 30000,
int waitKeepAliveAnswerTimeout = 0,
int waitForEncryptedTimeout = 10000,
int maxThreads = 4,
int maxSockets = 8,
int maxReadBuffers = 16,
int maxReadSize = 16 * 1024 * 1024,
int maxWriteBuffers = 16,
int maxWriteSize = 16 * 1024 * 1024,
int socketReadBufferSize = 1024 * 512) {
28 this->readTimeout = readTimeout;
29 this->waitKeepAliveAnswerTimeout = waitKeepAliveAnswerTimeout;
30 this->waitForEncryptedTimeout = waitForEncryptedTimeout;
31 this->maxThreads = maxThreads;
32 this->maxSockets = maxSockets;
33 this->maxReadBuffers = maxReadBuffers;
34 this->maxReadSize = maxReadSize;
35 this->maxWriteBuffers = maxWriteBuffers;
36 this->maxWriteSize = maxWriteSize;
37 this->socketReadBufferSize = socketReadBufferSize;
41 int sockets(std::vector<DataArraySocket *> * =
nullptr);
43 FunctionConnectorProtected<DataArrayAbstractTcp>::Connector<
const DataArraySocket *,
const DataArray *, uint32_t> received {AbstractFunctionConnector::DirectOnly};
45 void setEncryptDisabled(
const std::vector<std::string> &list) { disabledEncrypt_ = list; }
46 void setEncryptDisabled(
const std::string &,
bool =
true);
50 class Thread :
public AbstractThreadPool::Thread {
51 friend class DataArrayAbstractTcp;
54 Thread(
const std::string &name, DataArrayAbstractTcp *_pool) : AbstractThreadPool::Thread(name, _pool), pool(_pool) {};
59 AbstractThreadPool *pool;
61 Thread *findMinimalSocketsThread();
63 int waitKeepAliveAnswerTimeout;
64 int waitForEncryptedTimeout;
65 std::size_t maxThreads;
66 std::size_t maxSockets;
67 int socketReadBufferSize;
72 std::vector<std::string> disabledEncrypt_ = {
"127.0.0.1"};
The TlsContext class provides functionality for managing TLS certificates.
Definition TlsContext.h:24