Infinispan HotRod C++ Client 9.2.0.Final
Loading...
Searching...
No Matches
Configuration.h
Go to the documentation of this file.
1#ifndef ISPN_HOTROD_CONFIGURATION_H
2#define ISPN_HOTROD_CONFIGURATION_H
3
4
5
6#include <string>
7#include <vector>
8#include <map>
16
17
18namespace infinispan {
19namespace hotrod {
20
27// TODO: should we really return references?
29{
30 public:
31 HR_EXTERN static const char* PROTOCOL_VERSION_20;
32 HR_EXTERN static const char* PROTOCOL_VERSION_21;
33 HR_EXTERN static const char* PROTOCOL_VERSION_22;
34 HR_EXTERN static const char* PROTOCOL_VERSION_23;
35 HR_EXTERN static const char* PROTOCOL_VERSION_24;
36 HR_EXTERN static const char* PROTOCOL_VERSION_25;
37 HR_EXTERN static const char* PROTOCOL_VERSION_26;
38 HR_EXTERN static const char* PROTOCOL_VERSION_27;
39 HR_EXTERN static const char* PROTOCOL_VERSION_28;
40 HR_EXTERN static const char* DEFAULT_CLUSTER_NAME;
41
42
43 Configuration(const std::string &_protocolVersion,
44 const ConnectionPoolConfiguration& _connectionPoolConfiguration,
45 int _connectionTimeout,
46 bool _forceReturnValue,
47 int _keySizeEstimate,
48 std::map<std::string,std::vector<ServerConfiguration> > _serversConfiguration,
49 int _socketTimeout,
50 const SslConfiguration _sslConfiguration,
51 bool _tcpNoDelay,
52 int _valueSizeEstimate,
53 int _maxRetries,
54 NearCacheConfiguration _nearCacheConfiguration,
56 const event::EventMarshaller &eventMarshaller = event::JBasicEventMarshaller(), bool transactional=false):
57 protocolVersion(_protocolVersion), protocolVersionPtr(),
58 connectionPoolConfiguration(_connectionPoolConfiguration),
59 connectionTimeout(_connectionTimeout), forceReturnValue(_forceReturnValue),
60 keySizeEstimate(_keySizeEstimate),
61 serversMap(_serversConfiguration),
62 socketTimeout(_socketTimeout), securityConfiguration(_sslConfiguration),tcpNoDelay(_tcpNoDelay),
63 valueSizeEstimate(_valueSizeEstimate), maxRetries(_maxRetries), nearCacheConfiguration(_nearCacheConfiguration), balancingStrategyProducer(bsp),
64 eventMarshaller(eventMarshaller), transactional(transactional)
65 {}
66
67 Configuration(const std::string &_protocolVersion,
68 const ConnectionPoolConfiguration& _connectionPoolConfiguration,
69 int _connectionTimeout,
70 bool _forceReturnValue,
71 int _keySizeEstimate,
72 std::map<std::string,std::vector<ServerConfiguration> > _serversConfiguration,
73 int _socketTimeout,
74 const SecurityConfiguration _securityConfiguration,
75 bool _tcpNoDelay,
76 int _valueSizeEstimate,
77 int _maxRetries,
78 NearCacheConfiguration _nearCacheConfiguration,
80 const event::EventMarshaller &eventMarshaller = event::JBasicEventMarshaller(), bool transactional=false):
81 protocolVersion(_protocolVersion), protocolVersionPtr(),
82 connectionPoolConfiguration(_connectionPoolConfiguration),
83 connectionTimeout(_connectionTimeout), forceReturnValue(_forceReturnValue),
84 keySizeEstimate(_keySizeEstimate),
85 serversMap(_serversConfiguration),
86 socketTimeout(_socketTimeout), securityConfiguration(_securityConfiguration),tcpNoDelay(_tcpNoDelay),
87 valueSizeEstimate(_valueSizeEstimate), maxRetries(_maxRetries), nearCacheConfiguration(_nearCacheConfiguration), balancingStrategyProducer(bsp),
88 eventMarshaller(eventMarshaller), transactional(transactional)
89 {}
90
91
96 HR_EXTERN const std::string &getProtocolVersion() const {
97 if (protocolVersionPtr.get() == NULL) {
98 const_cast<Configuration *>(this)->protocolVersionPtr
99 .reset(new std::string(protocolVersion.c_str()));
100 }
101 return *(protocolVersionPtr.get());
102 }
103
110
117
123 HR_EXTERN const int& getConnectionTimeout() const;
124
132 HR_EXTERN const bool& isForceReturnValue() const;
133
139 HR_EXTERN const int& getKeySizeEstimate() const;
140
147 std::map<std::string, std::vector<ServerConfiguration> > getServersMapConfiguration() const {
148 std::map<std::string, std::vector<ServerConfiguration> > temp;
149 return serversMap;
150 }
151
157 HR_EXTERN const int& getSocketTimeout() const;
158
165
171 HR_EXTERN const bool& isTcpNoDelay() const;
172
178 HR_EXTERN const int& getValueSizeEstimate() const;
179
185 HR_EXTERN const int& getMaxRetries() const;
186
188
189 const SslConfiguration& getSslConfiguration() { return securityConfiguration.getSslConfiguration(); }
190
191 HR_EXTERN const event::EventMarshaller &getEventMarshaller() const;
192
193 const NearCacheConfiguration& getNearCacheConfiguration() const { return nearCacheConfiguration; }
194
195 const SecurityConfiguration& getSecurityConfiguration() const { return securityConfiguration; }
196
197 bool isTransactional() const { return transactional; }
198
199 void setTransactional(bool transactional) { this->transactional = transactional; }
200
201private:
202 std::string protocolVersion;
203 std::shared_ptr<std::string> protocolVersionPtr;
204 ConnectionPoolConfiguration connectionPoolConfiguration;
205 int connectionTimeout;
206 bool forceReturnValue;
207 int keySizeEstimate;
208 std::map<std::string,std::vector<ServerConfiguration> > serversMap;
209 int socketTimeout;
210 SecurityConfiguration securityConfiguration;
211 bool tcpNoDelay;
212 int valueSizeEstimate;
213 int maxRetries;
214 const NearCacheConfiguration nearCacheConfiguration;
215 FailOverRequestBalancingStrategy::ProducerFn balancingStrategyProducer;
216 const event::EventMarshaller &eventMarshaller;
217 bool transactional;
218
219 static void deleteString(std::string *str) { delete str; }
220};
221
222}} // namespace
223
224#endif /* ISPN_HOTROD_CONFIGURATION_H */
#define HR_EXTERN
Definition: ImportExport.h:35
Definition: Configuration.h:29
HR_EXTERN const int & getConnectionTimeout() const
static HR_EXTERN const char * PROTOCOL_VERSION_20
Definition: Configuration.h:31
static HR_EXTERN const char * DEFAULT_CLUSTER_NAME
Definition: Configuration.h:40
HR_EXTERN FailOverRequestBalancingStrategy::ProducerFn getBalancingStrategy() const
static HR_EXTERN const char * PROTOCOL_VERSION_26
Definition: Configuration.h:37
HR_EXTERN const bool & isTcpNoDelay() const
std::map< std::string, std::vector< ServerConfiguration > > getServersMapConfiguration() const
Definition: Configuration.h:147
const SecurityConfiguration & getSecurityConfiguration() const
Definition: Configuration.h:195
void setTransactional(bool transactional)
Definition: Configuration.h:199
const NearCacheConfiguration & getNearCacheConfiguration() const
Definition: Configuration.h:193
HR_EXTERN const int & getKeySizeEstimate() const
HR_EXTERN const ConnectionPoolConfiguration & getConnectionPoolConfiguration() const
static HR_EXTERN const char * PROTOCOL_VERSION_23
Definition: Configuration.h:34
static HR_EXTERN const char * PROTOCOL_VERSION_21
Definition: Configuration.h:32
HR_EXTERN const SslConfiguration & getSslConfiguration() const
Configuration(const std::string &_protocolVersion, const ConnectionPoolConfiguration &_connectionPoolConfiguration, int _connectionTimeout, bool _forceReturnValue, int _keySizeEstimate, std::map< std::string, std::vector< ServerConfiguration > > _serversConfiguration, int _socketTimeout, const SecurityConfiguration _securityConfiguration, bool _tcpNoDelay, int _valueSizeEstimate, int _maxRetries, NearCacheConfiguration _nearCacheConfiguration, FailOverRequestBalancingStrategy::ProducerFn bsp=0, const event::EventMarshaller &eventMarshaller=event::JBasicEventMarshaller(), bool transactional=false)
Definition: Configuration.h:67
HR_EXTERN const int & getMaxRetries() const
const SslConfiguration & getSslConfiguration()
Definition: Configuration.h:189
static HR_EXTERN const char * PROTOCOL_VERSION_25
Definition: Configuration.h:36
HR_EXTERN const int & getValueSizeEstimate() const
static HR_EXTERN const char * PROTOCOL_VERSION_27
Definition: Configuration.h:38
static HR_EXTERN const char * PROTOCOL_VERSION_24
Definition: Configuration.h:35
HR_EXTERN const event::EventMarshaller & getEventMarshaller() const
Configuration(const std::string &_protocolVersion, const ConnectionPoolConfiguration &_connectionPoolConfiguration, int _connectionTimeout, bool _forceReturnValue, int _keySizeEstimate, std::map< std::string, std::vector< ServerConfiguration > > _serversConfiguration, int _socketTimeout, const SslConfiguration _sslConfiguration, bool _tcpNoDelay, int _valueSizeEstimate, int _maxRetries, NearCacheConfiguration _nearCacheConfiguration, FailOverRequestBalancingStrategy::ProducerFn bsp=0, const event::EventMarshaller &eventMarshaller=event::JBasicEventMarshaller(), bool transactional=false)
Definition: Configuration.h:43
bool isTransactional() const
Definition: Configuration.h:197
static HR_EXTERN const char * PROTOCOL_VERSION_28
Definition: Configuration.h:39
static HR_EXTERN const char * PROTOCOL_VERSION_22
Definition: Configuration.h:33
HR_EXTERN const std::string & getProtocolVersion() const
Definition: Configuration.h:96
HR_EXTERN const char * getProtocolVersionCString() const
HR_EXTERN const bool & isForceReturnValue() const
HR_EXTERN const int & getSocketTimeout() const
Definition: ConnectionPoolConfiguration.h:22
FailOverRequestBalancingStrategy *(* ProducerFn)()
Definition: FailOverRequestBalancingStrategy.h:19
Definition: NearCacheConfiguration.h:33
Definition: SecurityConfiguration.h:17
const SslConfiguration & getSslConfiguration() const
Definition: SecurityConfiguration.h:23
Definition: SslConfiguration.h:11
Definition: AuthenticationConfiguration.h:10