23#include <citrusleaf/cf_queue.h>
37typedef struct as_node_shm_s {
51 struct sockaddr_storage addr;
37typedef struct as_node_shm_s { {
…};
88typedef struct as_partition_shm_s {
88typedef struct as_partition_shm_s { {
…};
104typedef struct as_partition_table_shm_s {
104typedef struct as_partition_table_shm_s { {
…};
139typedef struct as_cluster_shm_s {
139typedef struct as_cluster_shm_s { {
…};
227typedef struct as_shm_info_s {
242#if !defined(_MSC_VER)
227typedef struct as_shm_info_s { {
…};
313 uint8_t replica_size, uint8_t replica_index, uint32_t regime
#define AS_NODE_NAME_SIZE
#define AS_MAX_REPLICATION_FACTOR
#define AS_MAX_NAMESPACE_SIZE
void as_shm_destroy(struct as_cluster_s *cluster)
void as_shm_add_nodes(struct as_cluster_s *cluster, as_vector *nodes_to_add)
static as_partition_table_shm * as_shm_next_partition_table(as_cluster_shm *cluster_shm, as_partition_table_shm *table)
void as_shm_remove_nodes(struct as_cluster_s *cluster, as_vector *nodes_to_remove)
AS_EXTERN as_partition_table_shm * as_shm_find_partition_table(as_cluster_shm *cluster_shm, const char *ns)
as_status as_shm_create(struct as_cluster_s *cluster, as_error *err, as_config *config)
void as_shm_update_partitions(as_shm_info *shm_info, const char *ns, char *bitmap_b64, int64_t len, as_node *node, uint8_t replica_size, uint8_t replica_index, uint32_t regime)
static as_partition_table_shm * as_shm_get_partition_table(as_cluster_shm *cluster_shm, as_partition_table_shm *tables, uint32_t index)
static as_partition_table_shm * as_shm_get_partition_tables(as_cluster_shm *cluster_shm)
void as_shm_node_replace_racks(as_cluster_shm *cluster_shm, as_node *node, as_racks *racks)
as_spinlock take_over_lock
uint32_t partition_tables_capacity
uint32_t partition_table_byte_size
uint32_t partition_tables_offset
uint32_t partition_tables_size
uint32_t rebalance_generation
uint32_t takeover_threshold_ms
volatile bool is_tend_master
as_cluster_shm * cluster_shm