24 #include <citrusleaf/cf_atomic.h>
25 #include <citrusleaf/cf_queue.h>
26 #include <citrusleaf/cf_vector.h>
34 #define MAX_INTERVALS_ABSENT 1
36 #define NUM_BATCH_THREADS 6
37 #define NUM_SCAN_THREADS 5
38 #define NUM_QUERY_THREADS 5
141 extern cl_cluster_node *
cl_cluster_node_get(cl_cluster *asc,
const char *
ns,
const cf_digest *d,
bool write);
pthread_t batch_threads[NUM_BATCH_THREADS]
cf_atomic32 scan_initialized
void cl_cluster_get_node_names(cl_cluster *asc, int *n_nodes, char **node_names)
cl_partition_table * next
pthread_mutex_t batch_init_lock
cf_atomic32 tender_running
uint32_t partition_generation
cf_queue * conn_q_asyncfd
cf_vector host_addr_map_v
cl_cluster * citrusleaf_cluster_create(void)
cf_atomic32 query_initialized
void cl_cluster_node_fd_put(cl_cluster_node *cn, int fd, bool asyncfd)
void citrusleaf_cluster_add_addr_map(cl_cluster *asc, char *orig, char *alt)
void citrusleaf_cluster_release_or_destroy(cl_cluster **asc)
cl_cluster_node * cl_cluster_node_get(cl_cluster *asc, const char *ns, const cf_digest *d, bool write)
cf_atomic32 batch_initialized
int citrusleaf_cluster_get_nodecount(cl_cluster *asc)
cl_partition partitions[]
char name[NODE_NAME_SIZE]
cl_cluster_node * cl_cluster_node_get_random(cl_cluster *asc)
bool citrusleaf_cluster_settled(cl_cluster *asc)
#define NUM_BATCH_THREADS
void citrusleaf_cluster_destroy(cl_cluster *asc)
void citrusleaf_cluster_change_info_timeout(struct cl_cluster_s *asc, int msecs)
cl_partition_id n_partitions
int compression_threshold
cl_cluster * citrusleaf_cluster_get_or_create(char *host, short port, int timeout_ms)
int citrusleaf_info_parse_single(char *values, char **value)
cl_cluster * citrusleaf_cluster_get(char const *url)
uint32_t intervals_absent
void cl_cluster_node_release(cl_cluster_node *cn, const char *tag)
cl_partition_table * partition_table_head
struct cl_cluster_compression_stat_s compression_stat
int cl_cluster_node_fd_get(cl_cluster_node *cn, bool asyncfd)
cl_rv citrusleaf_cluster_add_host(cl_cluster *asc, char const *host, short port, int timeout_ms)
#define NUM_QUERY_THREADS
pthread_t scan_threads[NUM_SCAN_THREADS]
pthread_t query_threads[NUM_QUERY_THREADS]
void cl_cluster_node_put(cl_cluster_node *cn)
cl_cluster_node * cl_cluster_node_get_byname(cl_cluster *asc, const char *name)
void cl_cluster_node_reserve(cl_cluster_node *cn, const char *tag)
void citrusleaf_cluster_follow(cl_cluster *asc, bool flag)
void citrusleaf_cluster_change_tend_speed(struct cl_cluster_s *asc, int secs)