All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Data Structures | Macros | Typedefs | Functions
as_cluster.h File Reference
#include <aerospike/as_config.h>
#include <aerospike/as_node.h>
#include <aerospike/as_partition.h>
#include <aerospike/as_policy.h>
#include <citrusleaf/cf_atomic.h>
#include <citrusleaf/cl_types.h>
#include "ck_pr.h"
+ Include dependency graph for as_cluster.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  as_cluster
 
struct  as_gc_item
 
struct  as_nodes
 
struct  as_seed
 

Macros

#define AS_NUM_BATCH_THREADS   6
 
#define AS_NUM_QUERY_THREADS   5
 
#define AS_NUM_SCAN_THREADS   5
 

Typedefs

typedef void(* as_release_fn) (void *value)
 

Functions

void as_cluster_change_password (as_cluster *cluster, const char *user, const char *password)
 
int as_cluster_create (as_config *config, as_cluster **cluster)
 
void as_cluster_destroy (as_cluster *cluster)
 
void as_cluster_get_node_names (as_cluster *cluster, int *n_nodes, char **node_names)
 
static as_partition_tableas_cluster_get_partition_table (as_cluster *cluster, const char *ns)
 
bool as_cluster_is_connected (as_cluster *cluster)
 
static as_nodeas_node_get (as_cluster *cluster, const char *ns, const cf_digest *d, bool write, as_policy_replica replica)
 
as_nodeas_node_get_by_name (as_cluster *cluster, const char *name)
 
as_nodeas_node_get_random (as_cluster *cluster)
 
static void as_nodes_release (as_nodes *nodes)
 
static as_nodesas_nodes_reserve (as_cluster *cluster)
 
as_nodeas_partition_table_get_node (as_cluster *cluster, as_partition_table *table, const cf_digest *d, bool write, as_policy_replica replica)
 
static void as_partition_tables_release (as_partition_tables *tables)
 
static as_partition_tablesas_partition_tables_reserve (as_cluster *cluster)
 
as_nodeas_shm_node_get (as_cluster *cluster, const char *ns, const cf_digest *d, bool write, as_policy_replica replica)
 

Macro Definition Documentation

#define AS_NUM_BATCH_THREADS   6

Definition at line 31 of file as_cluster.h.

#define AS_NUM_QUERY_THREADS   5

Definition at line 33 of file as_cluster.h.

#define AS_NUM_SCAN_THREADS   5

Definition at line 32 of file as_cluster.h.

Typedef Documentation

void(*

Reference counted release function definition.

Definition at line 82 of file as_cluster.h.

Function Documentation

void as_cluster_change_password ( as_cluster cluster,
const char *  user,
const char *  password 
)
private

Change user and password that is used to authenticate with cluster servers.

int as_cluster_create ( as_config config,
as_cluster **  cluster 
)

Create and initialize cluster.

void as_cluster_destroy ( as_cluster cluster)

Close all connections and release memory associated with cluster.

void as_cluster_get_node_names ( as_cluster cluster,
int *  n_nodes,
char **  node_names 
)

Get all node names in cluster.

static as_partition_table* as_cluster_get_partition_table ( as_cluster cluster,
const char *  ns 
)
inlinestaticprivate

Get partition table given namespace.

Definition at line 407 of file as_cluster.h.

References as_partition_tables_get(), as_partition_tables_release(), and as_partition_tables_reserve().

bool as_cluster_is_connected ( as_cluster cluster)

Is cluster connected to any server nodes.

static as_node* as_node_get ( as_cluster cluster,
const char *  ns,
const cf_digest *  d,
bool  write,
as_policy_replica  replica 
)
inlinestaticprivate

Get mapped node given digest key. If there is no mapped node, a random node is used instead. as_nodes_release() must be called when done with node.

Definition at line 442 of file as_cluster.h.

References as_cluster_get_partition_table(), as_partition_table_get_node(), as_shm_node_get(), and as_cluster::shm_info.

as_node* as_node_get_by_name ( as_cluster cluster,
const char *  name 
)
private

Get node given node name. as_nodes_release() must be called when done with node.

as_node* as_node_get_random ( as_cluster cluster)
private

Get random node in the cluster. as_nodes_release() must be called when done with node.

static void as_nodes_release ( as_nodes nodes)
inlinestatic

Release reference counted access to cluster nodes.

Definition at line 339 of file as_cluster.h.

References as_nodes::ref_count.

static as_nodes* as_nodes_reserve ( as_cluster cluster)
inlinestatic

Reserve reference counted access to cluster nodes.

Definition at line 327 of file as_cluster.h.

References as_cluster::nodes, and as_nodes::ref_count.

as_node* as_partition_table_get_node ( as_cluster cluster,
as_partition_table table,
const cf_digest *  d,
bool  write,
as_policy_replica  replica 
)
private

Get mapped node given digest key and partition table. If there is no mapped node, a random node is used instead. as_nodes_release() must be called when done with node.

static void as_partition_tables_release ( as_partition_tables tables)
inlinestaticprivate

Release reference counted access to partition tables.

Definition at line 392 of file as_cluster.h.

References as_partition_tables::ref_count.

static as_partition_tables* as_partition_tables_reserve ( as_cluster cluster)
inlinestaticprivate

Reserve reference counted access to partition tables. as_partition_tables_release() must be called when done with tables.

Definition at line 380 of file as_cluster.h.

References as_cluster::partition_tables, and as_partition_tables::ref_count.

as_node* as_shm_node_get ( as_cluster cluster,
const char *  ns,
const cf_digest *  d,
bool  write,
as_policy_replica  replica 
)
private

Get shared memory mapped node given digest key. If there is no mapped node, a random node is used instead. as_nodes_release() must be called when done with node.