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   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)
 
int as_node_fd_get (as_node *node)
 
void as_node_fd_put (as_node *node, int fd)
 
static struct sockaddr_in * as_node_get_address (as_node *node)
 
static as_addressas_node_get_address_full (as_node *node)
 
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   20

Maximum size of node name

Definition at line 36 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 185 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.

int as_node_fd_get ( as_node node)
private

Get a connection to the given node from pool. Return fd on success and -1 on error.

void as_node_fd_put ( as_node node,
int  fd 
)
private

Put connection back into pool.

static struct sockaddr_in* as_node_get_address ( as_node node)
staticprivate

Get socket address and name.

Definition at line 231 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 241 of file as_node.h.

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

static void as_node_release ( as_node node)
inlinestaticprivate

Release existing cluster node.

Definition at line 207 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 196 of file as_node.h.

References as_node::ref_count.