All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Data Structures | Macros | Functions
as_node.h File Reference
#include <aerospike/as_vector.h>
#include <citrusleaf/cf_queue.h>
#include <netinet/in.h>
#include "ck_pr.h"
+ Include dependency graph for as_node.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  as_address
 
struct  as_friend
 
struct  as_node
 

Macros

#define AS_NODE_NAME_MAX_SIZE   AS_NODE_NAME_SIZE
 
#define AS_NODE_NAME_SIZE   20
 

Functions

void as_node_add_address (as_node *node, struct sockaddr_in *addr)
 
as_nodeas_node_create (struct as_cluster_s *cluster, const char *name, struct sockaddr_in *addr)
 
static void as_node_deactivate (as_node *node)
 
void as_node_destroy (as_node *node)
 
static struct sockaddr_in * as_node_get_address (as_node *node)
 
static as_addressas_node_get_address_full (as_node *node)
 
int as_node_get_connection (as_node *node, int *fd)
 
void as_node_put_connection (as_node *node, int fd)
 
static void as_node_release (as_node *node)
 
static void as_node_reserve (as_node *node)
 

Macro Definition Documentation

#define AS_NODE_NAME_MAX_SIZE   AS_NODE_NAME_SIZE

Definition at line 38 of file as_node.h.

#define AS_NODE_NAME_SIZE   20

Maximum size of node name

Definition at line 35 of file as_node.h.

Function Documentation

void as_node_add_address ( as_node node,
struct sockaddr_in *  addr 
)
private

Add socket address to node addresses.

as_node* as_node_create ( struct as_cluster_s *  cluster,
const char *  name,
struct sockaddr_in *  addr 
)
private

Create new cluster node.

static void as_node_deactivate ( as_node node)
inlinestaticprivate

Set node to inactive.

Definition at line 193 of file as_node.h.

References as_node::active.

void as_node_destroy ( as_node node)
private

Close all connections in pool and free resources.

static struct sockaddr_in* as_node_get_address ( as_node node)
staticprivate

Get socket address and name.

Definition at line 239 of file as_node.h.

References as_address::addr, as_node::address_index, as_node::addresses, and as_vector_get().

static as_address* as_node_get_address_full ( as_node node)
inlinestatic

Get socket address and name.

Definition at line 249 of file as_node.h.

References as_node::address_index, as_node::addresses, and as_vector_get().

int as_node_get_connection ( as_node node,
int *  fd 
)
private

Get a connection to the given node from pool and validate. Return 0 on success.

void as_node_put_connection ( as_node node,
int  fd 
)
private

Put connection back into pool.

static void as_node_release ( as_node node)
inlinestaticprivate

Release existing cluster node.

Definition at line 215 of file as_node.h.

References as_node_destroy(), and as_node::ref_count.

static void as_node_reserve ( as_node node)
inlinestaticprivate

Reserve existing cluster node.

Definition at line 204 of file as_node.h.

References as_node::ref_count.