Hazelcast C++ Client
Hazelcast C++ Client Library
hazelcast::client::client_properties Class Reference

Client Properties is an internal class. More...

#include <client_properties.h>

Public Member Functions

 client_properties (const std::unordered_map< std::string, std::string > &properties)
 
const client_propertyget_heartbeat_timeout () const
 
const client_propertyget_heartbeat_interval () const
 
const client_propertyget_aws_member_port () const
 
const client_propertyget_invocation_retry_pause_millis () const
 
const client_propertyget_invocation_timeout_seconds () const
 
const client_propertyget_event_thread_count () const
 
const client_propertyget_internal_executor_pool_size () const
 
const client_propertyget_shuffle_member_list () const
 
const client_propertyget_max_concurrent_invocations () const
 
const client_propertyget_backpressure_backoff_timeout_millis () const
 
const client_propertyget_statistics_enabled () const
 
const client_propertyget_statistics_period_seconds () const
 
const client_propertybackup_timeout_millis () const
 
const client_propertyfail_on_indeterminate_state () const
 
const client_propertycloud_base_url () const
 
bool get_boolean (const client_property &property) const
 Returns the configured boolean value of a ClientProperty. More...
 
int32_t get_integer (const client_property &property) const
 Returns the configured int32_t value of a ClientProperty. More...
 
int64_t get_long (const client_property &property) const
 Returns the configured int64_t value of a ClientProperty. More...
 
std::string get_string (const client_property &property) const
 Returns the configured value of a ClientProperty as std::string. More...
 

Static Public Attributes

static const std::string PROP_HEARTBEAT_TIMEOUT = "hazelcast_client_heartbeat_timeout"
 Client will be sending heartbeat messages to members and this is the timeout. More...
 
static const std::string PROP_HEARTBEAT_TIMEOUT_DEFAULT = "60000"
 
static const std::string PROP_HEARTBEAT_INTERVAL = "hazelcast_client_heartbeat_interval"
 Time interval in milliseconds between the heartbeats sent by the client to the nodes. More...
 
static const std::string PROP_HEARTBEAT_INTERVAL_DEFAULT = "5000"
 
static const std::string PROP_REQUEST_RETRY_COUNT = "hazelcast_client_request_retry_count"
 Client will retry requests which either inherently retryable(idempotent client) or client_network_config#redoOperation is set to true_ This property is to configure retry count before client give up retrying. More...
 
static const std::string PROP_REQUEST_RETRY_COUNT_DEFAULT = "20"
 
static const std::string PROP_REQUEST_RETRY_WAIT_TIME = "hazelcast_client_request_retry_wait_time"
 Client will retry requests which either inherently retryable(idempotent client) or client_network_config#redoOperation is set to true. More...
 
static const std::string PROP_REQUEST_RETRY_WAIT_TIME_DEFAULT = "1"
 
static const std::string PROP_AWS_MEMBER_PORT = "hz-port"
 The discovery mechanism will discover only IP addresses. More...
 
static const std::string PROP_AWS_MEMBER_PORT_DEFAULT = "5701"
 
static const std::string INVOCATION_RETRY_PAUSE_MILLIS = "hazelcast.client.invocation.retry.pause.millis"
 Pause time between each retry cycle of an invocation in milliseconds.
 
static const std::string INVOCATION_RETRY_PAUSE_MILLIS_DEFAULT = "1000"
 
static const std::string INVOCATION_TIMEOUT_SECONDS = "hazelcast.client.invocation.timeout.seconds"
 When an invocation gets an exception because : More...
 
static const std::string INVOCATION_TIMEOUT_SECONDS_DEFAULT = "120"
 
static const std::string EVENT_THREAD_COUNT = "hazelcast.client.event.thread.count"
 Number of the threads to handle the incoming event packets.
 
static const std::string EVENT_THREAD_COUNT_DEFAULT = "5"
 
static const std::string INTERNAL_EXECUTOR_POOL_SIZE = "hazelcast.client.internal.executor.pool.size"
 
static const std::string INTERNAL_EXECUTOR_POOL_SIZE_DEFAULT = "3"
 
static const std::string SHUFFLE_MEMBER_LIST = "hazelcast.client.shuffle.member.list"
 Client shuffles the given member list to prevent all clients to connect to the same node when this property is set to true. More...
 
static const std::string SHUFFLE_MEMBER_LIST_DEFAULT = "true"
 
static const std::string MAX_CONCURRENT_INVOCATIONS = "hazelcast.client.max.concurrent.invocations"
 The maximum number of concurrent invocations allowed. More...
 
static const std::string MAX_CONCURRENT_INVOCATIONS_DEFAULT
 
static const std::string BACKPRESSURE_BACKOFF_TIMEOUT_MILLIS = "hazelcast.client.invocation.backoff.timeout.millis"
 Control the maximum timeout in millis to wait for an invocation space to be available. More...
 
static const std::string BACKPRESSURE_BACKOFF_TIMEOUT_MILLIS_DEFAULT = "-1"
 
static const std::string STATISTICS_ENABLED = "hazelcast.client.statistics.enabled"
 Use to enable the client statistics collection. More...
 
static const std::string STATISTICS_ENABLED_DEFAULT = "false"
 
static const std::string STATISTICS_PERIOD_SECONDS = "hazelcast.client.statistics.period.seconds"
 The period in seconds the statistics sent to the cluster.
 
static const std::string STATISTICS_PERIOD_SECONDS_DEFAULT = "3"
 
static constexpr const char * OPERATION_BACKUP_TIMEOUT_MILLIS = "hazelcast.client.operation.backup.timeout.millis"
 If an operation has backups, this property specifies how long the invocation will wait for acks from the backup replicas. More...
 
static constexpr const char * OPERATION_BACKUP_TIMEOUT_MILLIS_DEFAULT = "5000"
 
static constexpr const char * FAIL_ON_INDETERMINATE_OPERATION_STATE = "hazelcast.client.operation.fail.on.indeterminate.state"
 When this configuration is enabled, if an operation has sync backups and acks are not received from backup replicas in time, or the member which owns primary replica of the target partition leaves the cluster, then the invocation fails with \indeterminate_operation_state. More...
 
static constexpr const char * FAIL_ON_INDETERMINATE_OPERATION_STATE_DEFAULT = "false"
 
static constexpr const char * CLOUD_URL_BASE = "hazelcast.client.cloud.url"
 Internal client property to change base url of cloud discovery endpoint. More...
 
static constexpr const char * CLOUD_URL_BASE_DEFAULT = "coordinator.hazelcast.cloud"
 

Detailed Description

Client Properties is an internal class.

Only use properties documentations as references to be used in client_config::set_property

Definition at line 66 of file client_properties.h.

Member Function Documentation

◆ get_boolean()

bool hazelcast::client::client_properties::get_boolean ( const client_property property) const

Returns the configured boolean value of a ClientProperty.

Parameters
propertythe ClientProperty to get the value from
Returns
the value as bool

Definition at line 729 of file client_impl.cpp.

729  {
730  return util::IOUtil::to_value<bool>(get_string(property));
731  }
std::string get_string(const client_property &property) const
Returns the configured value of a ClientProperty as std::string.

◆ get_integer()

int32_t hazelcast::client::client_properties::get_integer ( const client_property property) const

Returns the configured int32_t value of a ClientProperty.

Parameters
propertythe ClientProperty to get the value from
Returns
the value as int32_t

Definition at line 733 of file client_impl.cpp.

733  {
734  return util::IOUtil::to_value<int32_t>(get_string(property));
735  }

◆ get_long()

int64_t hazelcast::client::client_properties::get_long ( const client_property property) const

Returns the configured int64_t value of a ClientProperty.

Parameters
propertythe ClientProperty to get the value from
Returns
the value as int64_t

Definition at line 737 of file client_impl.cpp.

737  {
738  return util::IOUtil::to_value<int64_t>(get_string(property));
739  }

◆ get_string()

std::string hazelcast::client::client_properties::get_string ( const client_property property) const

Returns the configured value of a ClientProperty as std::string.

Parameters
propertythe ClientProperty to get the value from
Returns
the value

Definition at line 714 of file client_impl.cpp.

714  {
715  std::unordered_map<std::string, std::string>::const_iterator valueIt = properties_map_.find(
716  property.get_name());
717  if (valueIt != properties_map_.end()) {
718  return valueIt->second;
719  }
720 
721  const char *value = property.get_system_property();
722  if (value != NULL) {
723  return value;
724  }
725 
726  return property.get_default_value();
727  }

Member Data Documentation

◆ BACKPRESSURE_BACKOFF_TIMEOUT_MILLIS

const std::string hazelcast::client::client_properties::BACKPRESSURE_BACKOFF_TIMEOUT_MILLIS = "hazelcast.client.invocation.backoff.timeout.millis"
static

Control the maximum timeout in millis to wait for an invocation space to be available.

If an invocation can't be made because there are too many pending invocations, then an exponential backoff is done to give the system time to deal with the backlog of invocations. This property controls how long an invocation is allowed to wait before getting a com.hazelcast.core.hazelcast_overload.

When set to -1 then hazelcast_overload_exception is thrown immediately without any waiting.

Definition at line 212 of file client_properties.h.

◆ CLOUD_URL_BASE

constexpr const char* hazelcast::client::client_properties::CLOUD_URL_BASE = "hazelcast.client.cloud.url"
staticconstexpr

Internal client property to change base url of cloud discovery endpoint.

Used for testing cloud discovery.

Definition at line 249 of file client_properties.h.

◆ FAIL_ON_INDETERMINATE_OPERATION_STATE

constexpr const char* hazelcast::client::client_properties::FAIL_ON_INDETERMINATE_OPERATION_STATE = "hazelcast.client.operation.fail.on.indeterminate.state"
staticconstexpr

When this configuration is enabled, if an operation has sync backups and acks are not received from backup replicas in time, or the member which owns primary replica of the target partition leaves the cluster, then the invocation fails with \indeterminate_operation_state.

However, even if the invocation fails, there will not be any rollback on other successful replicas.

Definition at line 242 of file client_properties.h.

◆ INVOCATION_TIMEOUT_SECONDS

const std::string hazelcast::client::client_properties::INVOCATION_TIMEOUT_SECONDS = "hazelcast.client.invocation.timeout.seconds"
static

When an invocation gets an exception because :

  • Member throws an exception.
  • Connection between the client and member is closed.
  • Client's heartbeat requests are timed out. Time passed since invocation started is compared with this property. If the time is already passed, then the exception is delegated to the user. If not, the invocation is retried. Note that, if invocation gets no exception and it is a long running one, then it will not get any exception, no matter how small this timeout is set.

Definition at line 168 of file client_properties.h.

◆ MAX_CONCURRENT_INVOCATIONS

const std::string hazelcast::client::client_properties::MAX_CONCURRENT_INVOCATIONS = "hazelcast.client.max.concurrent.invocations"
static

The maximum number of concurrent invocations allowed.

To prevent the system from overloading, user can apply a constraint on the number of concurrent invocations. If the maximum number of concurrent invocations has been exceeded and a new invocation comes in, then hazelcast will throw hazelcast_overload_exception

By default it is configured as INT32_MAX.

Definition at line 198 of file client_properties.h.

◆ MAX_CONCURRENT_INVOCATIONS_DEFAULT

const std::string hazelcast::client::client_properties::MAX_CONCURRENT_INVOCATIONS_DEFAULT
static
Initial value:
= util::IOUtil::to_string<int32_t>(
INT32_MAX)

Definition at line 199 of file client_properties.h.

◆ OPERATION_BACKUP_TIMEOUT_MILLIS

constexpr const char* hazelcast::client::client_properties::OPERATION_BACKUP_TIMEOUT_MILLIS = "hazelcast.client.operation.backup.timeout.millis"
staticconstexpr

If an operation has backups, this property specifies how long the invocation will wait for acks from the backup replicas.

If acks are not received from some backups, there will not be any rollback on other successful replicas.

Definition at line 233 of file client_properties.h.

◆ PROP_AWS_MEMBER_PORT

const std::string hazelcast::client::client_properties::PROP_AWS_MEMBER_PORT = "hz-port"
static

The discovery mechanism will discover only IP addresses.

You can define the port on which Hazelcast is expected to be running here. This port number is not used by the discovery mechanism itself, it is only returned by the discovery mechanism. The default port is PROP_AWS_MEMBER_PORT_DEFAULT

Definition at line 149 of file client_properties.h.

◆ PROP_HEARTBEAT_INTERVAL

const std::string hazelcast::client::client_properties::PROP_HEARTBEAT_INTERVAL = "hazelcast_client_heartbeat_interval"
static

Time interval in milliseconds between the heartbeats sent by the client to the nodes.

attribute "hazelcast_client_heartbeat_interval" default value "5000"

Definition at line 117 of file client_properties.h.

◆ PROP_HEARTBEAT_TIMEOUT

const std::string hazelcast::client::client_properties::PROP_HEARTBEAT_TIMEOUT = "hazelcast_client_heartbeat_timeout"
static

Client will be sending heartbeat messages to members and this is the timeout.

If there is no any message passing between client and member within the given time via this property in milliseconds the connection will be closed.

attribute "hazelcast_client_heartbeat_timeout" default value "60000"

Definition at line 108 of file client_properties.h.

◆ PROP_REQUEST_RETRY_COUNT

const std::string hazelcast::client::client_properties::PROP_REQUEST_RETRY_COUNT = "hazelcast_client_request_retry_count"
static

Client will retry requests which either inherently retryable(idempotent client) or client_network_config#redoOperation is set to true_ This property is to configure retry count before client give up retrying.

attribute "hazelcast_client_request_retry_count" default value "20"

Definition at line 129 of file client_properties.h.

◆ PROP_REQUEST_RETRY_WAIT_TIME

const std::string hazelcast::client::client_properties::PROP_REQUEST_RETRY_WAIT_TIME = "hazelcast_client_request_retry_wait_time"
static

Client will retry requests which either inherently retryable(idempotent client) or client_network_config#redoOperation is set to true.

Time delay in seconds between retries.

attribute "hazelcast_client_request_retry_wait_time" default value "1"

Definition at line 141 of file client_properties.h.

◆ SHUFFLE_MEMBER_LIST

const std::string hazelcast::client::client_properties::SHUFFLE_MEMBER_LIST = "hazelcast.client.shuffle.member.list"
static

Client shuffles the given member list to prevent all clients to connect to the same node when this property is set to true.

When it is set to false, the client tries to connect to the nodes in the given order.

Definition at line 186 of file client_properties.h.

◆ STATISTICS_ENABLED

const std::string hazelcast::client::client_properties::STATISTICS_ENABLED = "hazelcast.client.statistics.enabled"
static

Use to enable the client statistics collection.

The default is false.

Definition at line 220 of file client_properties.h.


The documentation for this class was generated from the following files: