19 #include <unordered_set>
20 #include <unordered_map>
22 #include <boost/optional.hpp>
24 #include "hazelcast/client/address.h"
25 #include "hazelcast/client/serialization_config.h"
26 #include "hazelcast/client/socket_interceptor.h"
27 #include "hazelcast/client/load_balancer.h"
28 #include "hazelcast/util/SynchronizedMap.h"
29 #include "hazelcast/client/config/reliable_topic_config.h"
30 #include "hazelcast/client/config/near_cache_config.h"
31 #include "hazelcast/client/config/client_network_config.h"
32 #include "hazelcast/client/config/client_connection_strategy_config.h"
33 #include "hazelcast/client/config/client_flake_id_generator_config.h"
34 #include "hazelcast/client/config/matcher/matching_point_config_pattern_matcher.h"
35 #include "hazelcast/client/internal/config/ConfigUtils.h"
36 #include "hazelcast/client/config/logger_config.h"
37 #include "hazelcast/client/serialization/serialization.h"
38 #include "hazelcast/client/lifecycle_listener.h"
39 #include "hazelcast/client/membership_listener.h"
41 #if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
43 #pragma warning(disable : 4251)
48 class initial_membership_event;
50 namespace connection {
51 class ClientConnectionManagerImpl;
68 const std::string& name()
const;
70 virtual credential_type type()
const = 0;
80 const std::string& password);
82 const std::string& password()
const;
84 credential_type type()
const override;
87 std::string password_;
95 const std::vector<byte>& token()
const;
97 credential_type type()
const override;
100 std::vector<byte> token_;
109 friend class spi::impl::ClientClusterServiceImpl;
110 friend class connection::ClientConnectionManagerImpl;
137 const std::string& get_cluster_name()
const;
139 client_config& set_cluster_name(
const std::string& cluster_name);
148 const std::shared_ptr<security::credentials>& credential);
150 const std::shared_ptr<security::credentials>& get_credentials()
const;
172 bool is_redo_operation()
const;
205 const std::vector<lifecycle_listener>& get_lifecycle_listeners()
const;
225 const std::vector<membership_listener>& get_membership_listeners()
const;
266 const std::unordered_map<std::string, std::string>& get_properties()
const;
278 const std::string& value);
297 const std::string& name);
319 const std::string& name)
const;
340 const boost::optional<std::string>& get_instance_name()
const;
342 client_config& set_instance_name(
const std::string& instance_name);
349 int32_t get_executor_pool_size()
const;
357 void set_executor_pool_size(int32_t executor_pool_size);
363 connection_strategy_config);
380 find_flake_id_generator_config(
const std::string& name);
406 get_flake_id_generator_config(
const std::string& name);
425 const std::unordered_set<std::string>& get_labels()
const;
427 client_config& set_labels(
const std::unordered_set<std::string>& labels);
448 bool backup_acks_enabled();
454 const std::string& name)
const;
456 std::string cluster_name_;
462 boost::optional<load_balancer> load_balancer_;
464 std::vector<membership_listener> membership_listeners_;
466 std::vector<lifecycle_listener> lifecycle_listeners_;
468 std::unordered_map<std::string, std::string> properties_;
470 bool redo_operation_;
474 std::shared_ptr<security::credentials> credentials_;
476 std::unordered_map<std::string, config::reliable_topic_config>
477 reliable_topic_config_map_;
479 std::unordered_map<std::string, config::near_cache_config>
480 near_cache_config_map_;
482 boost::optional<std::string> instance_name_;
487 int32_t executor_pool_size_;
491 std::unordered_map<std::string, config::client_flake_id_generator_config>
492 flake_id_generator_config_map_;
495 config_pattern_matcher_;
499 std::unordered_set<std::string> labels_;
501 bool backup_acks_enabled_ =
true;
507 #if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
hazelcast_client configuration class.
Client connection strategy configuration is used for setting custom strategies and configuring strate...
Contains configuration parameters for client network related behaviour.
Contains the configuration for a Near Cache.
Listener object for listening lifecycle events of hazelcast instance.
load_balancer allows you to send operations to one of a number of endpoints(Members).
Cluster membership listener.
Hazelcast provides distribution mechanism for publishing messages that are delivered to multiple subs...
SerializationConfig is used to.
An interface that provides the ability to intercept the creation of sockets.