All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Private Attributes
as_cluster Struct Reference

Detailed Description

Cluster of server nodes.

Definition at line 87 of file as_cluster.h.

#include "as_cluster.h"

+ Collaboration diagram for as_cluster:

Private Attributes

uint32_t async_conn_count
 
uint32_t async_conn_pool
 
uint32_t async_max_conns_per_node
 
uint32_t async_pending
 
char * cluster_name
 
uint32_t conn_pools_per_node
 
uint32_t conn_timeout_ms
 
as_vectorgc
 
as_vectorip_map
 
uint32_t max_conns_per_node
 
uint32_t max_socket_idle
 
uint16_t n_partitions
 
uint32_t node_index
 
as_nodesnodes
 
as_partition_tablespartition_tables
 
char * password
 
uint32_t pipe_max_conns_per_node
 
pthread_mutex_t seed_lock
 
as_vectorseeds
 
struct as_shm_info_s * shm_info
 
pthread_cond_t tend_cond
 
uint32_t tend_interval
 
pthread_mutex_t tend_lock
 
pthread_t tend_thread
 
as_thread_pool thread_pool
 
as_tls_context tls_ctx
 
bool use_services_alternate
 
char * user
 
volatile bool valid
 
uint32_t version
 

Field Documentation

uint32_t as_cluster::async_conn_count
private

Number of active async pipeline and non-pipeline connections combined.

Definition at line 236 of file as_cluster.h.

uint32_t as_cluster::async_conn_pool
private

Number of async connections in the pools.

Definition at line 242 of file as_cluster.h.

uint32_t as_cluster::async_max_conns_per_node
private

Maximum number of asynchronous (non-pipeline) connections allowed for each node. Async transactions will be rejected if the maximum async node connections would be exceeded. This variable is ignored if asynchronous event loops are not created.

Definition at line 210 of file as_cluster.h.

uint32_t as_cluster::async_pending
private

Number of pending async commands (i.e., commands with an outstanding reply).

Definition at line 230 of file as_cluster.h.

char* as_cluster::cluster_name
private

Expected cluster name for all nodes. May be null.

Definition at line 128 of file as_cluster.h.

uint32_t as_cluster::conn_pools_per_node
private

Number of synchronous connection pools used for each node.

Definition at line 224 of file as_cluster.h.

uint32_t as_cluster::conn_timeout_ms
private

Initial connection timeout in milliseconds.

Definition at line 248 of file as_cluster.h.

as_vector* as_cluster::gc
private

Nodes to be garbage collected.

Definition at line 104 of file as_cluster.h.

as_vector* as_cluster::ip_map
private

A IP translation table is used in cases where different clients use different server IP addresses. This may be necessary when using clients from both inside and outside a local area network. Default is no translation.

The key is the IP address returned from friend info requests to other servers. The value is the real IP address used to connect to the server.

Definition at line 145 of file as_cluster.h.

uint32_t as_cluster::max_conns_per_node
private

Maximum number of synchronous connections allowed per server node.

Definition at line 202 of file as_cluster.h.

uint32_t as_cluster::max_socket_idle
private

Maximum socket idle in seconds.

Definition at line 254 of file as_cluster.h.

uint16_t as_cluster::n_partitions
private

Total number of data partitions used by cluster.

Definition at line 266 of file as_cluster.h.

uint32_t as_cluster::node_index
private

Random node index.

Definition at line 260 of file as_cluster.h.

as_nodes* as_cluster::nodes
private

Active nodes in cluster.

Definition at line 92 of file as_cluster.h.

as_partition_tables* as_cluster::partition_tables
private

Hints for best node for a partition.

Definition at line 98 of file as_cluster.h.

char* as_cluster::password
private

Password in hashed format in bytes.

Definition at line 122 of file as_cluster.h.

uint32_t as_cluster::pipe_max_conns_per_node
private

Maximum number of pipeline connections allowed for each node. Pipeline transactions will be rejected if the maximum pipeline node connections would be exceeded. This variable is ignored if asynchronous event loops are not created.

Definition at line 218 of file as_cluster.h.

pthread_mutex_t as_cluster::seed_lock
private

Lock for adding/removing seeds.

Definition at line 169 of file as_cluster.h.

as_vector* as_cluster::seeds
private

Initial seed hosts specified by user.

Definition at line 134 of file as_cluster.h.

struct as_shm_info_s* as_cluster::shm_info
private

Shared memory implementation of cluster.

Definition at line 110 of file as_cluster.h.

pthread_cond_t as_cluster::tend_cond
private

Tend thread identifier to be used with tend_lock.

Definition at line 184 of file as_cluster.h.

uint32_t as_cluster::tend_interval
private

Milliseconds between cluster tends.

Definition at line 196 of file as_cluster.h.

pthread_mutex_t as_cluster::tend_lock
private

Lock for the tend thread to wait on with the tend interval as timeout. Normally locked, resulting in waiting a full interval between tend iterations. Upon cluster shutdown, unlocked by the main thread, allowing a fast termination of the tend thread.

Definition at line 178 of file as_cluster.h.

pthread_t as_cluster::tend_thread
private

Cluster tend thread.

Definition at line 163 of file as_cluster.h.

as_thread_pool as_cluster::thread_pool
private

Pool of threads used to query server nodes in parallel for batch, scan and query.

Definition at line 157 of file as_cluster.h.

as_tls_context as_cluster::tls_ctx
private

TLS parameters

Definition at line 151 of file as_cluster.h.

bool as_cluster::use_services_alternate
private

If "services-alternate" should be used instead of "services"

Definition at line 272 of file as_cluster.h.

char* as_cluster::user
private

User name in UTF-8 encoded bytes.

Definition at line 116 of file as_cluster.h.

volatile bool as_cluster::valid
private

Should continue to tend cluster.

Definition at line 278 of file as_cluster.h.

uint32_t as_cluster::version
private

Configuration version. Incremented, when the configuration is changed.

Definition at line 190 of file as_cluster.h.


The documentation for this struct was generated from the following file: