1 #ifndef ISPN_HOTROD_CONFIGURATION_CONFIGURATIONBUILDER_H
2 #define ISPN_HOTROD_CONFIGURATION_CONFIGURATIONBUILDER_H
18 namespace infinispan {
32 m_connectionTimeout(60000),
33 m_forceReturnValue(false),
34 m_keySizeEstimate(64),
36 m_socketTimeout(60000),
38 m_valueSizeEstimate(512),
40 m_balancingStrategyProducer(nullptr),
42 connectionPoolConfigurationBuilder(*this),
44 sslConfigurationBuilder(*this)
54 return m_servers[m_servers.size() - 1];
64 std::istringstream originalStream(servers);
65 std::string stringHelper;
66 std::string hostHelper;
67 std::string portHelper;
71 while(std::getline(originalStream,stringHelper,
';')) {
72 std::istringstream singleServerStream(stringHelper);
73 std::getline(singleServerStream,hostHelper,
':');
74 std::getline(singleServerStream,portHelper,
':');
75 std::istringstream portStream(portHelper);
76 portStream >> portInt;
89 return connectionPoolConfigurationBuilder;
98 m_connectionTimeout = connectionTimeout_;
109 m_forceReturnValue = forceReturnValues_;
119 m_keySizeEstimate = keySizeEstimate_;
131 m_protocolVersion = protocolVersion_;
142 m_socketTimeout = socketTimeout_;
152 return sslConfigurationBuilder;
161 m_tcpNoDelay = tcpNoDelay_;
171 m_valueSizeEstimate = valueSizeEstimate_;
182 m_maxRetries = maxRetries_;
187 m_balancingStrategyProducer = bsp;
208 std::vector<ServerConfiguration> servers;
209 if (m_servers.size() > 0) {
210 for (std::vector<ServerConfigurationBuilder>::iterator it = m_servers.begin(); it < m_servers.end(); it++) {
211 servers.push_back(it->create());
218 connectionPoolConfigurationBuilder.
create(),
224 sslConfigurationBuilder.
create(),
228 m_balancingStrategyProducer);
255 int m_connectionTimeout;
256 bool m_forceReturnValue;
257 int m_keySizeEstimate;
258 std::string m_protocolVersion;
259 std::vector<ServerConfigurationBuilder> m_servers;
262 int m_valueSizeEstimate;
303 return m_builder->
ssl();
322 return m_builder->
build();
328 #endif // ISPN_HOTROD_CONFIGURATION_CONFIGURATIONBUILDER_H
ConfigurationBuilder & addServers(std::string servers)
Definition: ConfigurationBuilder.h:63
ConfigurationBuilder & socketTimeout(int socketTimeout)
Definition: ConfigurationBuilder.h:298
ConnectionPoolConfigurationBuilder & connectionPool()
Definition: ConfigurationBuilder.h:88
ConfigurationBuilder & keySizeEstimate(int keySizeEstimate_)
Definition: ConfigurationBuilder.h:118
HR_EXTERN const int & getSocketTimeout() const
ConfigurationBuilder & keySizeEstimate(int keySizeEstimate)
Definition: ConfigurationBuilder.h:290
virtual Configuration create()
Definition: ConfigurationBuilder.h:207
HR_EXTERN const int & getValueSizeEstimate() const
ConfigurationBuilder & connectionTimeout(int connectionTimeout)
Definition: ConfigurationBuilder.h:282
#define HR_EXTERN
Definition: ImportExport.h:35
ConfigurationBuilder()
Definition: ConfigurationBuilder.h:31
ConfigurationBuilder & valueSizeEstimate(int valueSizeEstimate_)
Definition: ConfigurationBuilder.h:170
ConfigurationBuilder & maxRetries(int maxRetries_)
Definition: ConfigurationBuilder.h:181
ConnectionPoolConfigurationBuilder & connectionPool()
Definition: ConfigurationBuilder.h:278
ConfigurationBuilder & forceReturnValues(bool forceReturnValues)
Definition: ConfigurationBuilder.h:286
SslConfigurationBuilder & ssl()
Definition: ConfigurationBuilder.h:302
ServerConfigurationBuilder & addServer()
Definition: ConfigurationBuilder.h:52
HR_EXTERN const int & getKeySizeEstimate() const
Definition: ConnectionPoolConfigurationBuilder.h:16
virtual ConfigurationBuilder & read(Configuration &configuration)
Definition: ConfigurationBuilder.h:238
ConfigurationBuilder & socketTimeout(int socketTimeout_)
Definition: ConfigurationBuilder.h:141
static HR_EXTERN const char * PROTOCOL_VERSION_12
Definition: ConfigurationBuilder.h:252
Definition: SslConfigurationBuilder.h:13
HR_EXTERN const int & getMaxRetries() const
ConfigurationBuilder & balancingStrategyProducer(FailOverRequestBalancingStrategy::ProducerFn bsp)
Definition: ConfigurationBuilder.h:186
ConfigurationBuilder & addServers(const std::string &servers)
Definition: ConfigurationBuilder.h:274
Definition: ServerConfigurationBuilder.h:26
HR_EXTERN const bool & isForceReturnValue() const
ServerConfigurationBuilder & port(int port_)
Definition: ServerConfigurationBuilder.h:49
virtual SslConfiguration create()
Definition: SslConfigurationBuilder.h:19
virtual ServerConfiguration create()
Definition: ServerConfigurationBuilder.h:61
ConfigurationBuilder & forceReturnValues(bool forceReturnValues_)
Definition: ConfigurationBuilder.h:108
HR_EXTERN const int & getConnectionTimeout() const
Definition: Configuration.h:24
virtual ConnectionPoolConfiguration create()
Definition: ConnectionPoolConfigurationBuilder.h:199
Configuration build()
Definition: ConfigurationBuilder.h:321
HR_EXTERN const char * getProtocolVersionCString() const
FailOverRequestBalancingStrategy *(* ProducerFn)()
Definition: FailOverRequestBalancingStrategy.h:13
ConfigurationBuilder & valueSizeEstimate(int valueSizeEstimate)
Definition: ConfigurationBuilder.h:310
#define __pragma(...)
Definition: defs.h:106
ServerConfigurationBuilder & host(const std::string &host_)
Definition: ServerConfigurationBuilder.h:38
Definition: ConfigurationBuilder.h:27
HR_EXTERN const bool & isTcpNoDelay() const
ConfigurationBuilder & protocolVersion(const std::string &protocolVersion)
Definition: ConfigurationBuilder.h:294
ConfigurationBuilder & maxRetries(int maxRetries_)
Definition: ConfigurationBuilder.h:314
Configuration build()
Definition: ConfigurationBuilder.h:197
ConfigurationBuilder & protocolVersion(const std::string &protocolVersion_)
Definition: ConfigurationBuilder.h:130
SslConfigurationBuilder & ssl()
Definition: ConfigurationBuilder.h:151
ConfigurationBuilder & tcpNoDelay(bool tcpNoDelay)
Definition: ConfigurationBuilder.h:306
ServerConfigurationBuilder & addServer()
Definition: ConfigurationBuilder.h:270
ConfigurationBuilder & tcpNoDelay(bool tcpNoDelay_)
Definition: ConfigurationBuilder.h:160
ConfigurationBuilder & balancingStrategyProducer(FailOverRequestBalancingStrategy::ProducerFn bsp)
Definition: ConfigurationBuilder.h:317
ConfigurationBuilder & connectionTimeout(int connectionTimeout_)
Definition: ConfigurationBuilder.h:97