24 #include <citrusleaf/cf_queue.h>
25 #include <netinet/in.h>
35 #define AS_NODE_NAME_SIZE 20
38 #define AS_NODE_NAME_MAX_SIZE AS_NODE_NAME_SIZE
47 typedef struct as_address_s {
51 struct sockaddr_in addr;
56 char name[INET_ADDRSTRLEN];
64 typedef struct as_node_s {
150 typedef struct as_friend_s {
155 char name[INET_ADDRSTRLEN];
179 as_node_create(
struct as_cluster_s* cluster,
const char* name,
struct sockaddr_in* addr);
196 ck_pr_store_8(&node->
active,
false);
220 ck_pr_dec_32_zero(&node->
ref_count, &destroy);
238 static inline struct sockaddr_in*
242 return &address->
addr;
static void as_node_deactivate(as_node *node)
void as_node_destroy(as_node *node)
struct as_cluster_s * cluster
static void * as_vector_get(as_vector *vector, uint32_t index)
#define AS_NODE_NAME_SIZE
static struct sockaddr_in * as_node_get_address(as_node *node)
void as_node_put_connection(as_node *node, int fd)
int as_node_get_connection(as_node *node, int *fd)
as_node * as_node_create(struct as_cluster_s *cluster, const char *name, struct sockaddr_in *addr)
uint32_t partition_generation
void as_node_add_address(as_node *node, struct sockaddr_in *addr)
static void as_node_release(as_node *node)
static as_address * as_node_get_address_full(as_node *node)
static void as_node_reserve(as_node *node)