![]() |
Cluster of server nodes.
Definition at line 87 of file as_cluster.h.
#include "as_cluster.h"
Data Fields | |
as_cluster_event_callback | event_callback |
void * | event_callback_udata |
int * | pending |
Private Attributes | |
uint32_t | async_max_conns_per_node |
char * | cluster_name |
uint32_t | conn_pools_per_node |
uint32_t | conn_timeout_ms |
as_vector * | gc |
as_vector * | ip_map |
uint32_t | max_conns_per_node |
uint32_t | max_socket_idle |
uint16_t | n_partitions |
uint32_t | node_index |
as_nodes * | nodes |
as_partition_tables * | partition_tables |
char * | password |
uint32_t | pipe_max_conns_per_node |
pthread_mutex_t | seed_lock |
as_vector * | seeds |
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 |
|
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 219 of file as_cluster.h.
|
private |
Expected cluster name for all nodes. May be null.
Definition at line 128 of file as_cluster.h.
|
private |
Number of synchronous connection pools used for each node.
Definition at line 233 of file as_cluster.h.
|
private |
Initial connection timeout in milliseconds.
Definition at line 239 of file as_cluster.h.
as_cluster_event_callback as_cluster::event_callback |
Cluster event function that will be called when nodes are added/removed from the cluster.
Definition at line 133 of file as_cluster.h.
void* as_cluster::event_callback_udata |
Cluster event user data that will be passed back to event_callback.
Definition at line 138 of file as_cluster.h.
|
private |
Nodes to be garbage collected.
Definition at line 104 of file as_cluster.h.
|
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 160 of file as_cluster.h.
|
private |
Maximum number of synchronous connections allowed per server node.
Definition at line 211 of file as_cluster.h.
|
private |
Maximum socket idle in seconds.
Definition at line 245 of file as_cluster.h.
|
private |
Total number of data partitions used by cluster.
Definition at line 257 of file as_cluster.h.
|
private |
Random node index.
Definition at line 251 of file as_cluster.h.
|
private |
Active nodes in cluster.
Definition at line 92 of file as_cluster.h.
|
private |
Hints for best node for a partition.
Definition at line 98 of file as_cluster.h.
|
private |
Password in hashed format in bytes.
Definition at line 122 of file as_cluster.h.
int* as_cluster::pending |
Pending async commands counter array for all event loops.
Definition at line 143 of file as_cluster.h.
|
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 227 of file as_cluster.h.
|
private |
Lock for adding/removing seeds.
Definition at line 184 of file as_cluster.h.
|
private |
Initial seed hosts specified by user.
Definition at line 149 of file as_cluster.h.
|
private |
Shared memory implementation of cluster.
Definition at line 110 of file as_cluster.h.
|
private |
Tend thread identifier to be used with tend_lock.
Definition at line 199 of file as_cluster.h.
|
private |
Milliseconds between cluster tends.
Definition at line 205 of file as_cluster.h.
|
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 193 of file as_cluster.h.
|
private |
Cluster tend thread.
Definition at line 178 of file as_cluster.h.
|
private |
Pool of threads used to query server nodes in parallel for batch, scan and query.
Definition at line 172 of file as_cluster.h.
|
private |
TLS parameters
Definition at line 166 of file as_cluster.h.
|
private |
If "services-alternate" should be used instead of "services"
Definition at line 263 of file as_cluster.h.
|
private |
User name in UTF-8 encoded bytes.
Definition at line 116 of file as_cluster.h.
|
private |
Should continue to tend cluster.
Definition at line 269 of file as_cluster.h.