1 #ifndef ISPN_HOTROD_CONFIGURATION_CONFIGURATIONBUILDER_H
2 #define ISPN_HOTROD_CONFIGURATION_CONFIGURATIONBUILDER_H
19 using namespace infinispan::hotrod::event;
21 namespace infinispan {
46 std::vector<ServerConfigurationBuilder>& servers;
73 this->m_maxEntries = maxEntries;
103 unsigned int m_maxEntries=0;
115 m_connectionTimeout(60000),
116 m_forceReturnValue(false),
117 m_keySizeEstimate(64),
119 m_socketTimeout(60000),
121 m_valueSizeEstimate(512),
123 m_balancingStrategyProducer(nullptr),
125 connectionPoolConfigurationBuilder(*this),
127 securityConfigurationBuilder(*this),
128 nearCacheConfigurationBuilder(*this),
129 m_transactional(false)
158 return servers[servers.size() - 1];
169 std::istringstream originalStream(servers);
170 std::string stringHelper;
171 std::string hostHelper;
172 std::string portHelper;
176 while(std::getline(originalStream,stringHelper,
';')) {
177 std::istringstream singleServerStream(stringHelper);
178 std::getline(singleServerStream,hostHelper,
':');
179 std::getline(singleServerStream,portHelper,
':');
180 std::istringstream portStream(portHelper);
181 portStream >> portInt;
182 addServer().host(hostHelper).port(portInt);
194 return connectionPoolConfigurationBuilder;
203 m_connectionTimeout = connectionTimeout_;
214 m_forceReturnValue = forceReturnValues_;
224 m_keySizeEstimate = keySizeEstimate_;
236 m_protocolVersion = protocolVersion_;
247 m_socketTimeout = socketTimeout_;
257 return securityConfigurationBuilder.getSslConfigurationBuilder();
266 return nearCacheConfigurationBuilder;
275 m_tcpNoDelay = tcpNoDelay_;
285 m_valueSizeEstimate = valueSizeEstimate_;
296 m_maxRetries = maxRetries_;
301 m_balancingStrategyProducer = bsp;
322 std::map<std::string,std::vector<ServerConfiguration>> serversMap;
323 for (
auto p: m_serversMap)
325 std::vector<ServerConfiguration> scVec;
326 for (
auto e : p.second)
328 scVec.push_back(e.create());
330 serversMap.insert(std::make_pair(p.first, scVec));
332 if (serversMap.size()==0)
334 std::vector<ServerConfiguration> scVec;
340 connectionPoolConfigurationBuilder.create(),
346 securityConfigurationBuilder.create(),
350 nearCacheConfigurationBuilder.create(),
351 m_balancingStrategyProducer,
352 m_eventMarshaller, m_transactional);
383 return securityConfigurationBuilder;
388 return m_transactional;
393 m_transactional = transactional;
398 int m_connectionTimeout;
399 bool m_forceReturnValue;
400 int m_keySizeEstimate;
401 std::string m_protocolVersion;
402 std::map<std::string,std::vector<ServerConfigurationBuilder> >m_serversMap;
405 int m_valueSizeEstimate;
406 unsigned int m_maxRetries;
410 JBasicEventMarshaller m_defaultEventMarshaller;
412 bool m_transactional;
414 EventMarshaller &m_eventMarshaller=m_defaultEventMarshaller;
419 #endif // ISPN_HOTROD_CONFIGURATION_CONFIGURATIONBUILDER_H
ConfigurationBuilder & addServers(std::string servers)
Definition: ConfigurationBuilder.h:168
ConnectionPoolConfigurationBuilder & connectionPool()
Definition: ConfigurationBuilder.h:193
HR_EXTERN const event::EventMarshaller & getEventMarshaller() const
ConfigurationBuilder & keySizeEstimate(int keySizeEstimate_)
Definition: ConfigurationBuilder.h:223
bool isTransactional() const
Definition: Configuration.h:201
HR_EXTERN const int & getSocketTimeout() const
void validate()
Definition: ConfigurationBuilder.h:132
NearCacheConfiguration create()
Definition: ConfigurationBuilder.h:96
HR_EXTERN const int & getValueSizeEstimate() const
NearCacheConfigurationBuilder & maxEntries(unsigned int maxEntries=0)
Definition: ConfigurationBuilder.h:72
ConfigurationBuilder()
Definition: ConfigurationBuilder.h:114
ConfigurationBuilder & valueSizeEstimate(int valueSizeEstimate_)
Definition: ConfigurationBuilder.h:284
ConfigurationBuilder & maxRetries(int maxRetries_)
Definition: ConfigurationBuilder.h:295
NearCacheConfigurationBuilder(ConfigurationBuilder &_builder)
Definition: ConfigurationBuilder.h:56
Definition: NearCacheConfiguration.h:32
ServerConfigurationBuilder & addServer()
Definition: ConfigurationBuilder.h:151
HR_EXTERN const int & getKeySizeEstimate() const
Definition: SecurityConfigurationBuilder.h:19
Definition: ConnectionPoolConfigurationBuilder.h:15
Definition: ConfigurationBuilder.h:53
Definition: NearCacheConfiguration.h:21
ConfigurationBuilder & socketTimeout(int socketTimeout_)
Definition: ConfigurationBuilder.h:246
Definition: SslConfigurationBuilder.h:12
bool isTransactional() const
Definition: ConfigurationBuilder.h:386
HR_EXTERN const int & getMaxRetries() const
NearCacheMode
Definition: NearCacheConfiguration.h:20
ConfigurationBuilder & balancingStrategyProducer(FailOverRequestBalancingStrategy::ProducerFn bsp)
Definition: ConfigurationBuilder.h:300
Definition: ServerConfigurationBuilder.h:25
HR_EXTERN const bool & isForceReturnValue() const
Definition: ConfigurationBuilder.h:28
virtual ServerConfiguration create()
Definition: ServerConfigurationBuilder.h:62
ConfigurationBuilder & forceReturnValues(bool forceReturnValues_)
Definition: ConfigurationBuilder.h:213
HR_EXTERN const int & getConnectionTimeout() const
Definition: Configuration.h:28
Configuration create()
Definition: ConfigurationBuilder.h:321
HR_EXTERN const char * getProtocolVersionCString() const
FailOverRequestBalancingStrategy *(* ProducerFn)()
Definition: FailOverRequestBalancingStrategy.h:19
#define __pragma(...)
Definition: defs.h:106
int getMaxEntries() const
Definition: ConfigurationBuilder.h:61
NearCacheConfigurationBuilder & mode(NearCacheMode mode=DISABLED)
Definition: ConfigurationBuilder.h:91
NearCacheConfigurationBuilder & nearCache()
Definition: ConfigurationBuilder.h:265
Definition: ConfigurationBuilder.h:111
HR_EXTERN const bool & isTcpNoDelay() const
Definition: ConfigurationChildBuilder.h:18
NearCacheMode getMode() const
Definition: ConfigurationBuilder.h:80
static HR_EXTERN const char * DEFAULT_CLUSTER_NAME
Definition: Configuration.h:44
Configuration build()
Definition: ConfigurationBuilder.h:311
ConfigurationBuilder & protocolVersion(const std::string &protocolVersion_)
Definition: ConfigurationBuilder.h:235
SslConfigurationBuilder & ssl()
Definition: ConfigurationBuilder.h:256
SecurityConfigurationBuilder & security()
Definition: ConfigurationBuilder.h:381
ConfigurationBuilder & read(Configuration &configuration)
Definition: ConfigurationBuilder.h:362
ClusterConfigurationBuilder(std::vector< ServerConfigurationBuilder > &servers, ConfigurationBuilder &parent)
Definition: ConfigurationBuilder.h:31
ConfigurationBuilder & tcpNoDelay(bool tcpNoDelay_)
Definition: ConfigurationBuilder.h:274
ConfigurationBuilder & setTransactional(bool transactional)
Definition: ConfigurationBuilder.h:391
ConfigurationBuilder & connectionTimeout(int connectionTimeout_)
Definition: ConfigurationBuilder.h:202
ClusterConfigurationBuilder addCluster(const std::string &clusterName)
Definition: ConfigurationBuilder.h:141
ClusterConfigurationBuilder & addClusterNode(const std::string host, const int port)
Definition: ConfigurationBuilder.h:40