1 #ifndef ISPN_HOTROD_CONFIGURATION_CONFIGURATIONBUILDER_H 2 #define ISPN_HOTROD_CONFIGURATION_CONFIGURATIONBUILDER_H 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_;
234 m_protocolVersion = protocolVersion_;
245 m_socketTimeout = socketTimeout_;
255 return securityConfigurationBuilder.getSslConfigurationBuilder();
264 return nearCacheConfigurationBuilder;
273 m_tcpNoDelay = tcpNoDelay_;
283 m_valueSizeEstimate = valueSizeEstimate_;
294 m_maxRetries = maxRetries_;
299 m_balancingStrategyProducer = bsp;
320 std::map<std::string,std::vector<ServerConfiguration>> serversMap;
321 for (
auto p: m_serversMap)
323 std::vector<ServerConfiguration> scVec;
324 for (
auto e : p.second)
326 scVec.push_back(e.create());
328 serversMap.insert(std::make_pair(p.first, scVec));
330 if (serversMap.size()==0)
332 std::vector<ServerConfiguration> scVec;
338 connectionPoolConfigurationBuilder.create(),
344 securityConfigurationBuilder.create(),
348 nearCacheConfigurationBuilder.create(),
349 m_balancingStrategyProducer,
350 m_eventMarshaller, m_transactional);
381 return securityConfigurationBuilder;
386 return m_transactional;
391 m_transactional = transactional;
396 int m_connectionTimeout;
397 bool m_forceReturnValue;
398 int m_keySizeEstimate;
399 std::string m_protocolVersion;
400 std::map<std::string,std::vector<ServerConfigurationBuilder> >m_serversMap;
403 int m_valueSizeEstimate;
404 unsigned int m_maxRetries;
408 JBasicEventMarshaller m_defaultEventMarshaller;
410 bool m_transactional;
412 EventMarshaller &m_eventMarshaller=m_defaultEventMarshaller;
417 #endif // ISPN_HOTROD_CONFIGURATION_CONFIGURATIONBUILDER_H ConfigurationBuilder & addServers(std::string servers)
Definition: ConfigurationBuilder.h:168
ConnectionPoolConfigurationBuilder & connectionPool()
Definition: ConfigurationBuilder.h:193
ConfigurationBuilder & keySizeEstimate(int keySizeEstimate_)
Definition: ConfigurationBuilder.h:223
void validate()
Definition: ConfigurationBuilder.h:132
NearCacheConfiguration create()
Definition: ConfigurationBuilder.h:96
bool isTransactional() const
Definition: Configuration.h:197
bool isTransactional() const
Definition: ConfigurationBuilder.h:384
NearCacheMode getMode() const
Definition: ConfigurationBuilder.h:80
HR_EXTERN const int & getKeySizeEstimate() const
NearCacheConfigurationBuilder & maxEntries(unsigned int maxEntries=0)
Definition: ConfigurationBuilder.h:72
ConfigurationBuilder()
Definition: ConfigurationBuilder.h:114
ConfigurationBuilder & valueSizeEstimate(int valueSizeEstimate_)
Definition: ConfigurationBuilder.h:282
ConfigurationBuilder & maxRetries(int maxRetries_)
Definition: ConfigurationBuilder.h:293
HR_EXTERN const int & getSocketTimeout() const
NearCacheConfigurationBuilder(ConfigurationBuilder &_builder)
Definition: ConfigurationBuilder.h:56
Definition: NearCacheConfiguration.h:32
HR_EXTERN const int & getValueSizeEstimate() const
ServerConfigurationBuilder & addServer()
Definition: ConfigurationBuilder.h:151
Definition: CacheClientListener.h:30
HR_EXTERN const char * getProtocolVersionCString() const
Definition: SecurityConfigurationBuilder.h:19
Definition: ConnectionPoolConfigurationBuilder.h:15
Definition: ConfigurationBuilder.h:53
Definition: NearCacheConfiguration.h:21
ConfigurationBuilder & socketTimeout(int socketTimeout_)
Definition: ConfigurationBuilder.h:244
Definition: SslConfigurationBuilder.h:12
Definition: AuthenticationConfiguration.h:10
HR_EXTERN const event::EventMarshaller & getEventMarshaller() const
int getMaxEntries() const
Definition: ConfigurationBuilder.h:61
NearCacheMode
Definition: NearCacheConfiguration.h:20
ConfigurationBuilder & balancingStrategyProducer(FailOverRequestBalancingStrategy::ProducerFn bsp)
Definition: ConfigurationBuilder.h:298
Definition: ServerConfigurationBuilder.h:25
Definition: ConfigurationBuilder.h:28
virtual ServerConfiguration create()
Definition: ServerConfigurationBuilder.h:62
ConfigurationBuilder & forceReturnValues(bool forceReturnValues_)
Definition: ConfigurationBuilder.h:213
Definition: Configuration.h:28
HR_EXTERN const int & getConnectionTimeout() const
FailOverRequestBalancingStrategy *(* ProducerFn)()
Definition: FailOverRequestBalancingStrategy.h:19
HR_EXTERN const int & getMaxRetries() const
Configuration create()
Definition: ConfigurationBuilder.h:319
#define __pragma(...)
Definition: defs.h:106
NearCacheConfigurationBuilder & mode(NearCacheMode mode=DISABLED)
Definition: ConfigurationBuilder.h:91
NearCacheConfigurationBuilder & nearCache()
Definition: ConfigurationBuilder.h:263
Definition: ConfigurationBuilder.h:111
Definition: ConfigurationChildBuilder.h:18
static HR_EXTERN const char * DEFAULT_CLUSTER_NAME
Definition: Configuration.h:40
Configuration build()
Definition: ConfigurationBuilder.h:309
ConfigurationBuilder & protocolVersion(const std::string &protocolVersion_)
Definition: ConfigurationBuilder.h:233
SslConfigurationBuilder & ssl()
Definition: ConfigurationBuilder.h:254
SecurityConfigurationBuilder & security()
Definition: ConfigurationBuilder.h:379
ConfigurationBuilder & read(Configuration &configuration)
Definition: ConfigurationBuilder.h:360
ClusterConfigurationBuilder(std::vector< ServerConfigurationBuilder > &servers, ConfigurationBuilder &parent)
Definition: ConfigurationBuilder.h:31
HR_EXTERN const bool & isForceReturnValue() const
ConfigurationBuilder & tcpNoDelay(bool tcpNoDelay_)
Definition: ConfigurationBuilder.h:272
ConfigurationBuilder & setTransactional(bool transactional)
Definition: ConfigurationBuilder.h:389
HR_EXTERN const bool & isTcpNoDelay() const
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