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_error.h>
#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
 
struct  as_node_info
 

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, struct sockaddr_in *addr, as_node_info *node_info)
 
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)
 
as_status as_node_get_connection (as_error *err, as_node *node, uint64_t deadline_ms, int *fd)
 
static void as_node_put_connection (as_node *node, int fd, uint32_t limit)
 
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 41 of file as_node.h.

#define AS_NODE_NAME_SIZE   20

Maximum size of node name

Definition at line 38 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,
struct sockaddr_in *  addr,
as_node_info node_info 
)
private

Create new cluster node.

static void as_node_deactivate ( as_node node)
inlinestaticprivate

Set node to inactive.

Definition at line 246 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 292 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 302 of file as_node.h.

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

as_status as_node_get_connection ( as_error err,
as_node node,
uint64_t  deadline_ms,
int *  fd 
)
private

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

static void as_node_put_connection ( as_node node,
int  fd,
uint32_t  limit 
)
inlinestaticprivate

Put connection back into pool if pool size < limit. Otherwise, close connection.

Definition at line 319 of file as_node.h.

References as_node::conn_q.

static void as_node_release ( as_node node)
inlinestaticprivate

Release existing cluster node.

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

References as_node::ref_count.