30 #include <aerospike/ck/ck_pr.h>
39 typedef struct as_seed_s {
55 typedef struct as_seeds_s {
79 typedef struct as_nodes_s {
104 typedef struct as_addr_maps_s {
134 typedef struct as_gc_item_s {
151 typedef struct as_cluster_s {
370 ck_pr_dec_32_zero(&nodes->
ref_count, &destroy);
395 ck_pr_dec_32_zero(&seeds->
ref_count, &destroy);
398 for (uint32_t i = 0; i < seeds->
size; i++) {
426 if (ip_map == NULL) {
441 ck_pr_dec_32_zero(&ip_map->
ref_count, &destroy);
444 for (uint32_t i = 0; i < ip_map->
size; i++) {
509 ck_pr_dec_32_zero(&tables->
ref_count, &destroy);
as_thread_pool thread_pool
pthread_mutex_t tend_lock
void as_seeds_update(as_cluster *cluster, as_seed *seed_list, uint32_t size)
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)
as_status as_cluster_create(as_config *config, as_error *err, as_cluster **cluster)
static as_partition_tables * as_partition_tables_reserve(as_cluster *cluster)
as_partition_tables * partition_tables
static as_node * as_node_get(as_cluster *cluster, const char *ns, const uint8_t *digest, bool write, as_policy_replica replica)
static void as_ip_map_release(as_addr_maps *ip_map)
as_node * as_shm_node_get(as_cluster *cluster, const char *ns, const uint8_t *digest, bool write, as_policy_replica replica)
void as_cluster_set_async_max_conns_per_node(as_cluster *cluster, uint32_t async_size, uint32_t pipe_size)
bool use_services_alternate
static as_addr_maps * as_ip_map_reserve(as_cluster *cluster)
uint32_t async_max_conns_per_node
void as_cluster_get_node_names(as_cluster *cluster, int *n_nodes, char **node_names)
void as_seeds_add(as_cluster *cluster, as_seed *seed_list, uint32_t size)
static as_partition_table * as_cluster_get_partition_table(as_cluster *cluster, const char *ns)
uint32_t pipe_max_conns_per_node
struct as_shm_info_s * shm_info
static as_seeds * as_seeds_reserve(as_cluster *cluster)
uint32_t async_conn_count
as_node * as_partition_table_get_node(as_cluster *cluster, as_partition_table *table, const uint8_t *digest, bool write, as_policy_replica replica)
void as_cluster_destroy(as_cluster *cluster)
static void as_seeds_release(as_seeds *seeds)
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)
static as_nodes * as_nodes_reserve(as_cluster *cluster)
bool as_cluster_is_connected(as_cluster *cluster)
void as_ip_map_update(as_cluster *cluster, as_addr_map *ip_map_list, uint32_t size)
static void as_nodes_release(as_nodes *nodes)
as_node * as_node_get_random(as_cluster *cluster)