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 105 of file as_cluster.h.

#include "as_cluster.h"

+ Collaboration diagram for as_cluster:

Private Attributes

pthread_mutex_t batch_init_lock
 
uint32_t batch_initialized
 
cf_queue * batch_q
 
pthread_t batch_threads [AS_NUM_BATCH_THREADS]
 
uint32_t conn_queue_size
 
uint32_t conn_timeout_ms
 
as_vectorgc
 
as_addr_mapip_map
 
uint32_t ip_map_size
 
uint32_t max_socket_idle
 
cl_partition_id n_partitions
 
uint32_t node_index
 
as_nodesnodes
 
as_partition_tablespartition_tables
 
char * password
 
uint32_t query_initialized
 
cf_queue * query_q
 
pthread_t query_threads [AS_NUM_QUERY_THREADS]
 
uint32_t scan_initialized
 
cf_queue * scan_q
 
pthread_t scan_threads [AS_NUM_SCAN_THREADS]
 
as_seedseeds
 
uint32_t seeds_size
 
struct as_shm_info_s * shm_info
 
uint32_t tend_interval
 
pthread_t tend_thread
 
char * user
 
volatile bool valid
 

Field Documentation

pthread_mutex_t as_cluster::batch_init_lock
private

Batch transaction lock.

Definition at line 253 of file as_cluster.h.

uint32_t as_cluster::batch_initialized
private

Batch initialize indicator.

Definition at line 223 of file as_cluster.h.

cf_queue* as_cluster::batch_q
private

Batch process queue.

Definition at line 122 of file as_cluster.h.

pthread_t as_cluster::batch_threads[AS_NUM_BATCH_THREADS]
private

Batch process threads.

Definition at line 265 of file as_cluster.h.

uint32_t as_cluster::conn_queue_size
private

Size of node's synchronous connection pool.

Definition at line 193 of file as_cluster.h.

uint32_t as_cluster::conn_timeout_ms
private

Initial connection timeout in milliseconds.

Definition at line 199 of file as_cluster.h.

as_vector* as_cluster::gc
private

Nodes to be garbage collected.

Definition at line 140 of file as_cluster.h.

as_addr_map* 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 187 of file as_cluster.h.

uint32_t as_cluster::ip_map_size
private

Length of ip_map array.

Definition at line 176 of file as_cluster.h.

uint32_t as_cluster::max_socket_idle
private

Maximum socket idle in seconds.

Definition at line 205 of file as_cluster.h.

cl_partition_id as_cluster::n_partitions
private

Total number of data partitions used by cluster.

Definition at line 241 of file as_cluster.h.

uint32_t as_cluster::node_index
private

Random node index.

Definition at line 217 of file as_cluster.h.

as_nodes* as_cluster::nodes
private

Active nodes in cluster.

Definition at line 110 of file as_cluster.h.

as_partition_tables* as_cluster::partition_tables
private

Hints for best node for a partition.

Definition at line 116 of file as_cluster.h.

char* as_cluster::password
private

Password in hashed format in bytes.

Definition at line 158 of file as_cluster.h.

uint32_t as_cluster::query_initialized
private

Query initialize indicator.

Definition at line 235 of file as_cluster.h.

cf_queue* as_cluster::query_q
private

Query process queue.

Definition at line 134 of file as_cluster.h.

pthread_t as_cluster::query_threads[AS_NUM_QUERY_THREADS]
private

Query process threads.

Definition at line 277 of file as_cluster.h.

uint32_t as_cluster::scan_initialized
private

Scan initialize indicator.

Definition at line 229 of file as_cluster.h.

cf_queue* as_cluster::scan_q
private

Scan process queue.

Definition at line 128 of file as_cluster.h.

pthread_t as_cluster::scan_threads[AS_NUM_SCAN_THREADS]
private

Scan process threads.

Definition at line 271 of file as_cluster.h.

as_seed* as_cluster::seeds
private

Initial seed nodes specified by user.

Definition at line 164 of file as_cluster.h.

uint32_t as_cluster::seeds_size
private

Length of seeds array.

Definition at line 170 of file as_cluster.h.

struct as_shm_info_s* as_cluster::shm_info
private

Shared memory implementation of cluster.

Definition at line 146 of file as_cluster.h.

uint32_t as_cluster::tend_interval
private

Milliseconds between cluster tends.

Definition at line 211 of file as_cluster.h.

pthread_t as_cluster::tend_thread
private

Cluster tend thread.

Definition at line 259 of file as_cluster.h.

char* as_cluster::user
private

User name in UTF-8 encoded bytes.

Definition at line 152 of file as_cluster.h.

volatile bool as_cluster::valid
private

Should continue to tend cluster.

Definition at line 247 of file as_cluster.h.


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