Пример #1
0
as_status
aerospike_query_users(aerospike* as, as_error* err, const as_policy_admin* policy, as_user*** users, int* users_size)
{
    as_error_reset(err);

    uint8_t buffer[AS_STACK_BUF_SIZE];
    uint8_t* p = buffer + 8;

    p = as_admin_write_header(p, QUERY_USERS, 0);

    as_vector list;
    as_vector_init(&list, sizeof(as_user*), 100);
    as_status status = as_admin_read_list(as, err, policy, buffer, p, as_parse_users, &list);

    if (status == AEROSPIKE_OK) {
        // Transfer array to output argument. Do not destroy vector.
        *users_size = list.size;
        *users = list.list;
    }
    else {
        *users_size = 0;
        *users = 0;
        as_free_users(&list, 0);
    }
    return status;
}
Пример #2
0
as_node*
as_node_create(as_cluster* cluster, const char* name, struct sockaddr_in* addr)
{
	as_node* node = cf_malloc(sizeof(as_node));

	if (!node) {
		return 0;
	}
	
	node->ref_count = 1;
	node->partition_generation = 0xFFFFFFFF;
	node->cluster = cluster;
			
	strcpy(node->name, name);
	node->address_index = 0;
	
	as_vector_init(&node->addresses, sizeof(as_address), 2);
	as_node_add_address(node, addr);
		
	node->conn_q = cf_queue_create(sizeof(int), true);
	// node->conn_q_asyncfd = cf_queue_create(sizeof(int), true);
	// node->asyncwork_q = cf_queue_create(sizeof(cl_async_work*), true);
	
	node->info_fd = -1;
	node->friends = 0;
	node->failures = 0;
	node->index = 0;
	node->active = true;
	return node;
}
Пример #3
0
as_vector*
as_vector_create(uint32_t item_size, uint32_t capacity)
{
	as_vector* vector = cf_malloc(sizeof(as_vector));
	as_vector_init(vector, item_size, capacity);
	vector->flags = FLAGS_HEAP | FLAGS_CREATED;
	return vector;
}
Пример #4
0
int
aerospike_query_users(aerospike* as, const as_policy_admin* policy, as_user_roles*** user_roles, int* user_roles_size)
{
	uint8_t buffer[STACK_BUF_SZ];
	uint8_t* p = buffer + 8;
	
	p = write_header(p, QUERY_USERS, 0);
	
	as_vector users;
	as_vector_init(&users, sizeof(as_user_roles*), 100);
	int status = as_read_users(as, policy, buffer, p, &users);
	
	if (status == 0) {
		// Transfer array to output argument. Do not destroy vector.
		*user_roles_size = users.size;
		*user_roles = users.list;
	}
	else {
		*user_roles_size = 0;
		*user_roles = 0;
		as_free_users(&users, 0);
	}
	return status;
}