#include <aerospike/as_config.h>
#include <aerospike/as_partition.h>
#include <citrusleaf/cf_queue.h>
#include <aerospike/ck/ck_spinlock.h>
#include <aerospike/ck/ck_swlock.h>
Go to the source code of this file.
|
as_node * | as_partition_shm_get_node (struct as_cluster_s *cluster, as_partition_shm *p, as_policy_replica replica, bool use_master, bool cp_mode) |
|
void | as_shm_add_nodes (struct as_cluster_s *cluster, as_vector *nodes_to_add) |
|
as_status | as_shm_cluster_get_node (struct as_cluster_s *cluster, as_error *err, const char *ns, const uint8_t *digest, as_policy_replica replica, bool use_master, as_node **node_pp) |
|
as_status | as_shm_create (struct as_cluster_s *cluster, as_error *err, as_config *config) |
|
void | as_shm_destroy (struct as_cluster_s *cluster) |
|
as_partition_table_shm * | as_shm_find_partition_table (as_cluster_shm *cluster_shm, const char *ns) |
|
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) |
|
static as_partition_table_shm * | as_shm_next_partition_table (as_cluster_shm *cluster_shm, as_partition_table_shm *table) |
|
bool | as_shm_partition_tables_find_node (as_cluster_shm *cluster_shm, as_node *node) |
|
void | as_shm_remove_nodes (struct as_cluster_s *cluster, as_vector *nodes_to_remove) |
|
void | as_shm_update_partitions (as_shm_info *shm_info, const char *ns, char *bitmap_b64, int64_t len, as_node *node, bool master, uint32_t regime) |
|
Get shared memory mapped node given partition. as_nodes_release() must be called when done with node.
void as_shm_add_nodes |
( |
struct as_cluster_s * |
cluster, |
|
|
as_vector * |
nodes_to_add |
|
) |
| |
|
private |
Add nodes to shared memory.
Get shared memory mapped node given digest key. If there is no mapped node, another node is used based on replica. If successful, as_nodes_release() must be called when done with node.
Create shared memory implementation of cluster.
void as_shm_destroy |
( |
struct as_cluster_s * |
cluster) | |
|
|
private |
Destroy shared memory components.
Find partition table for namespace in shared memory.
Determine if node exists in shared memory partition map.
void as_shm_remove_nodes |
( |
struct as_cluster_s * |
cluster, |
|
|
as_vector * |
nodes_to_remove |
|
) |
| |
|
private |
Remove nodes from shared memory.
void as_shm_update_partitions |
( |
as_shm_info * |
shm_info, |
|
|
const char * |
ns, |
|
|
char * |
bitmap_b64, |
|
|
int64_t |
len, |
|
|
as_node * |
node, |
|
|
bool |
master, |
|
|
uint32_t |
regime |
|
) |
| |
|
private |
Update shared memory partition tables for given namespace.