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