23 #include <citrusleaf/cf_atomic.h>
24 #include <citrusleaf/cl_types.h>
31 #define AS_NUM_BATCH_THREADS 6
32 #define AS_NUM_SCAN_THREADS 5
33 #define AS_NUM_QUERY_THREADS 5
42 typedef struct as_seed_s {
58 typedef struct as_nodes_s {
88 typedef struct as_gc_item_s {
105 typedef struct as_cluster_s {
329 ck_pr_dec_32_zero(&nodes->
ref_count, &destroy);
380 ck_pr_dec_32_zero(&tables->
ref_count, &destroy);
pthread_mutex_t batch_init_lock
static void as_partition_tables_release(as_partition_tables *tables)
void(* as_release_fn)(void *value)
void as_cluster_change_password(as_cluster *cluster, const char *user, const char *password)
static as_partition_tables * as_partition_tables_reserve(as_cluster *cluster)
as_partition_tables * partition_tables
uint32_t scan_initialized
void as_cluster_get_node_names(as_cluster *cluster, int *n_nodes, char **node_names)
cl_partition_id n_partitions
static as_partition_table * as_cluster_get_partition_table(as_cluster *cluster, const char *ns)
as_node * as_shm_node_get(as_cluster *cluster, const char *ns, const cf_digest *d, bool write, as_policy_replica replica)
uint32_t query_initialized
struct as_shm_info_s * shm_info
#define AS_NUM_BATCH_THREADS
#define AS_NUM_QUERY_THREADS
void as_cluster_destroy(as_cluster *cluster)
as_node * as_node_get_by_name(as_cluster *cluster, const char *name)
as_partition_table * as_partition_tables_get(as_partition_tables *tables, const char *ns)
uint32_t batch_initialized
as_node * as_partition_table_get_node(as_cluster *cluster, as_partition_table *table, const cf_digest *d, bool write, as_policy_replica replica)
#define AS_NUM_SCAN_THREADS
static as_nodes * as_nodes_reserve(as_cluster *cluster)
bool as_cluster_is_connected(as_cluster *cluster)
int as_cluster_create(as_config *config, as_cluster **cluster)
static void as_nodes_release(as_nodes *nodes)
static as_node * as_node_get(as_cluster *cluster, const char *ns, const cf_digest *d, bool write, as_policy_replica replica)
as_node * as_node_get_random(as_cluster *cluster)