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;
57 enum credential_type {
66 const std::string &name()
const;
68 virtual const credential_type type()
const = 0;
78 const std::string &password()
const;
80 const credential_type type()
const override;
83 std::string password_;
90 const std::vector<byte> &token()
const;
92 const credential_type type()
const override;
95 std::vector<byte> token_;
103 friend class spi::impl::ClientClusterServiceImpl;
104 friend class connection::ClientConnectionManagerImpl;
131 const std::string &get_cluster_name()
const;
133 client_config &set_cluster_name(
const std::string &cluster_name);
140 client_config &set_credentials(
const std::shared_ptr<security::credentials> &credential);
142 const std::shared_ptr<security::credentials> &get_credentials()
const;
162 bool is_redo_operation()
const;
192 const std::vector<lifecycle_listener> &get_lifecycle_listeners()
const;
211 const std::vector<membership_listener> &get_membership_listeners()
const;
250 const std::unordered_map<std::string, std::string> &get_properties()
const;
261 client_config &set_property(
const std::string &name,
const std::string &value);
316 const boost::optional<std::string> &get_instance_name()
const;
318 client_config &set_instance_name(
const std::string &instance_name);
325 int32_t get_executor_pool_size()
const;
333 void set_executor_pool_size(int32_t executor_pool_size);
400 const std::unordered_set<std::string> &get_labels()
const;
402 client_config &set_labels(
const std::unordered_set<std::string> &labels);
423 bool backup_acks_enabled();
430 std::string cluster_name_;
436 boost::optional<load_balancer> load_balancer_;
438 std::vector<membership_listener> membership_listeners_;
440 std::vector<lifecycle_listener> lifecycle_listeners_;
442 std::unordered_map<std::string, std::string> properties_;
444 bool redo_operation_;
448 std::shared_ptr<security::credentials> credentials_;
450 std::unordered_map<std::string, config::reliable_topic_config> reliable_topic_config_map_;
452 std::unordered_map<std::string, config::near_cache_config> near_cache_config_map_;
454 boost::optional<std::string> instance_name_;
459 int32_t executor_pool_size_;
463 std::unordered_map<std::string, config::client_flake_id_generator_config> flake_id_generator_config_map_;
469 std::unordered_set<std::string> labels_;
471 bool backup_acks_enabled_ =
true;
477 #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.