static int connect(lua_State *L){ const char *hostName = luaL_checkstring(L, 1); int port = lua_tointeger(L, 2); as_error err; // Configuration for the client. as_config config; as_config_init(&config); // Add a seed host for cluster discovery. config.hosts[0].addr = hostName; config.hosts[0].port = port; // The Aerospike client instance, initialized with the configuration. aerospike as; aerospike_init(&as, &config); // Connect to the cluster. aerospike_connect(&as, &err); /* Push the return */ lua_pushnumber(L, err.code); lua_pushstring(L, err.message); lua_pushlightuserdata(L, &as); return 3; }
//------------------------------------------------ // Connect to database cluster, setting UDF // configuration. // void example_connect_to_aerospike_with_udf_config(aerospike* p_as, const char* lua_user_path) { // Start with default configuration. as_config cfg; as_config_init(&cfg); // Must provide host and port. Example must have called example_get_opts()! cfg.hosts[0].addr = g_host; cfg.hosts[0].port = g_port; // Explicitly set Lua system path if it's not the default installation path // '/opt/aerospike/sys/udf/lua' // strcpy(cfg.lua.system_path, "/home/citrusleaf/aerospike-client-c/aerospike-mod-lua/src/lua"); if (lua_user_path) { strcpy(cfg.lua.user_path, lua_user_path); } as_error err; // Connect to the Aerospike database cluster. Assume this is the first thing // done after calling example_get_opts(), so it's ok to exit on failure. if (aerospike_connect(aerospike_init(p_as, &cfg), &err) != AEROSPIKE_OK) { LOG("aerospike_connect() returned %d - %s", err.code, err.message); aerospike_destroy(p_as); exit(-1); } }
static bool before(atf_plan * plan) { if ( as ) { error("aerospike was already initialized"); return false; } // Initialize logging. as_log_set_level(AS_LOG_LEVEL_INFO); as_log_set_callback(as_client_log_callback); if (g_use_async) { if (as_event_create_loops(1) == 0) { error("failed to create event loops"); return false; } } // Initialize global lua configuration. as_config_lua lua; as_config_lua_init(&lua); strcpy(lua.system_path, "modules/lua-core/src"); strcpy(lua.user_path, "src/test/lua"); aerospike_init_lua(&lua); // Initialize cluster configuration. as_config config; as_config_init(&config); as_config_add_host(&config, g_host, g_port); as_config_set_user(&config, g_user, g_password); as_policies_init(&config.policies); as_error err; as_error_reset(&err); as = aerospike_new(&config); if ( aerospike_connect(as, &err) == AEROSPIKE_OK ) { debug("connected to %s:%d", g_host, g_port); return true; } else { error("%s @ %s[%s:%d]", err.message, err.func, err.file, err.line); return false; } }
static bool before(atf_plan * plan) { if ( as ) { error("aerospike was already initialized"); return false; } if (! parse_opts(g_argc, g_argv)) { error("failed to parse options"); return false; } as_log_set_level(AS_LOG_LEVEL_INFO); as_log_set_callback(as_client_log_callback); if (g_use_async) { if (as_event_create_loops(1) == 0) { error("failed to create event loops"); return false; } } as_config config; as_config_init(&config); as_config_add_host(&config, g_host, g_port); as_config_set_user(&config, g_user, g_password); config.lua.cache_enabled = false; strcpy(config.lua.system_path, "modules/lua-core/src"); strcpy(config.lua.user_path, "src/test/lua"); as_policies_init(&config.policies); as_error err; as_error_reset(&err); as = aerospike_new(&config); if ( aerospike_connect(as, &err) == AEROSPIKE_OK ) { debug("connected to %s:%d", g_host, g_port); return true; } else { error("%s @ %s[%s:%d]", err.message, err.func, err.file, err.line); return false; } }
//------------------------------------------------ // Connect to database cluster, setting UDF // configuration. // void example_connect_to_aerospike_with_udf_config(aerospike* p_as, const char* lua_user_path) { // Start with default configuration. as_config cfg; as_config_init(&cfg); as_config_add_host(&cfg, g_host, g_port); as_config_set_user(&cfg, g_user, g_password); // Examples can be run from client binary package-installed lua files or // from git client source tree lua files. If client binary package is not // installed, look for lua system files in client source tree. int rc = access(cfg.lua.system_path, R_OK); if (rc != 0) { // Use lua files in source tree if they exist. char* path = "../../../modules/lua-core/src"; rc = access(path, R_OK); if (rc == 0) { strcpy(cfg.lua.system_path, path); } } if (lua_user_path) { strcpy(cfg.lua.user_path, lua_user_path); } aerospike_init(p_as, &cfg); as_error err; // Connect to the Aerospike database cluster. Assume this is the first thing // done after calling example_get_opts(), so it's ok to exit on failure. if (aerospike_connect(p_as, &err) != AEROSPIKE_OK) { LOG("aerospike_connect() returned %d - %s", err.code, err.message); aerospike_destroy(p_as); exit(-1); } }
// ---------------------------------------------------------------------------------- // // def initialize(host, port, options = {}) // static void client_initialize(int argc, VALUE * argv, VALUE self) { rb_aero_TIMED(tm); VALUE host; VALUE port; VALUE options; rb_scan_args(argc, argv, "21", &host, &port, &options); if ( NIL_P(options) ) options = rb_hash_new(); rb_iv_set(self, "@host", host); rb_iv_set(self, "@port", port); rb_iv_set(self, "@last_scan_id", Qnil); rb_iv_set(self, "@last_query_id", Qnil); as_config config; as_config_init(&config); as_config_add_host(&config, StringValueCStr(host), FIX2INT(port)); options2config(&config, options, self); rb_iv_set(self, "@options", options); aerospike * as; Data_Get_Struct(self, aerospike, as); aerospike_init(as, &config); as_error err; if (aerospike_connect(as, &err) != AEROSPIKE_OK) { aerospike_destroy(as); raise_as_error(err); } as_log_set_level(AS_LOG_LEVEL_DEBUG); VALUE option_tmp = rb_hash_aref(options, c_log_sym); if ( TYPE(option_tmp) == T_TRUE ) { as_log_set_callback(rb_aero_log_callback); } }
bool asc_init(aerospike *p_as) { as_status status; as_error err; // Start with default configuration. as_config cfg; as_config_init(&cfg); as_config_add_host(&cfg, HOST, PORT); as_config_set_user(&cfg, USER, PASS); aerospike_init(p_as, &cfg); // Connect to the Aerospike database cluster. status = aerospike_connect(p_as, &err); if (status != AEROSPIKE_OK) { ERROR("aerospike_connect() returned %d - %s", err.code, err.message); aerospike_destroy(p_as); } return (status == AEROSPIKE_OK); }
bool AeroSpike::connect() { std::unique_lock<std::mutex> lock(connectMutex_); triedConnect_ = true; auto & configManager = adservice::server::ConfigManager::getInstance(); auto * config = (adservice::server::AerospikeConfig *)configManager.get(CONFIG_AEROSPIKE); namespace_ = config->nameSpace; as_config_init(&config_); for (int i = 0; i < AS_CONFIG_HOSTS_SIZE && i < config->connections.size(); ++i) { config_.hosts[i].addr = config->connections[i].host.c_str(); config_.hosts[i].port = config->connections[i].port; } if (aerospike_init(&connection_, &config_) == nullptr) { return false; } return (aerospike_connect(&connection_, &error_) == AEROSPIKE_OK); }