LCBMT_INTERNAL void lcbmt_wrap_callbacks(lcbmt_ctx_t *mt, lcb_t instance) { lcb_set_store_callback(instance, store_callback); lcb_set_get_callback(instance, get_callback); lcb_set_remove_callback(instance, remove_callback); lcb_set_arithmetic_callback(instance, arithmetic_callback); lcb_set_touch_callback(instance, touch_callback); lcb_set_unlock_callback(instance, unlock_callback); lcb_set_stat_callback(instance, stats_callback); lcb_set_durability_callback(instance, endure_callback); lcb_set_http_data_callback(instance, http_data_callback); lcb_set_http_complete_callback(instance, http_complete_callback); }
/** Initialize a Couchbase connection instance * * Initialize all information relating to a Couchbase instance and configure available method callbacks. * This function forces synchronous operation and will wait for a connection or timeout. * * @param instance Empty (un-allocated) Couchbase instance object. * @param host The Couchbase server or list of servers. * @param bucket The Couchbase bucket to associate with the instance. * @param pass The Couchbase bucket password (NULL if none). * @param timeout Maximum time to wait for obtaining the initial configuration. * @return Couchbase error object. */ lcb_error_t couchbase_init_connection(lcb_t *instance, const char *host, const char *bucket, const char *pass, struct timeval const *timeout) { lcb_error_t error; /* couchbase command return */ struct lcb_create_st options; /* init create struct */ lcb_uint32_t timeout_ms = FR_TIMEVAL_TO_MS(timeout); /* init options */ memset(&options, 0, sizeof(options)); /* assign couchbase create options */ options.v.v0.host = host; options.v.v0.bucket = bucket; /* assign user and password if they were both passed */ if (bucket != NULL && pass != NULL) { options.v.v0.user = bucket; options.v.v0.passwd = pass; } /* create couchbase connection instance */ error = lcb_create(instance, &options); if (error != LCB_SUCCESS) return error; error = lcb_cntl(*instance, LCB_CNTL_SET, LCB_CNTL_CONFIGURATION_TIMEOUT, &timeout_ms); if (error != LCB_SUCCESS) return error; /* initiate connection */ error = lcb_connect(*instance); if (error != LCB_SUCCESS) return error; /* set general method callbacks */ lcb_set_stat_callback(*instance, couchbase_stat_callback); lcb_set_store_callback(*instance, couchbase_store_callback); lcb_set_get_callback(*instance, couchbase_get_callback); lcb_set_http_data_callback(*instance, couchbase_http_data_callback); /* wait on connection */ lcb_wait(*instance); return LCB_SUCCESS; }
/** Initialize a Couchbase connection instance * * Initialize all information relating to a Couchbase instance and configure available method callbacks. * This function forces synchronous operation and will wait for a connection or timeout. * * @param instance Empty (un-allocated) Couchbase instance object. * @param host The Couchbase server or list of servers. * @param bucket The Couchbase bucket to associate with the instance. * @param pass The Couchbase bucket password (NULL if none). * @return Couchbase error object. */ lcb_error_t couchbase_init_connection(lcb_t *instance, const char *host, const char *bucket, const char *pass) { lcb_error_t error; /* couchbase command return */ struct lcb_create_st options; /* init create struct */ /* init options */ memset(&options, 0, sizeof(options)); /* assign couchbase create options */ options.v.v0.host = host; options.v.v0.bucket = bucket; /* assign user and password if they were both passed */ if (bucket != NULL && pass != NULL) { options.v.v0.user = bucket; options.v.v0.passwd = pass; } /* create couchbase connection instance */ if ((error = lcb_create(instance, &options)) != LCB_SUCCESS) { /* return error */ return error; } /* initiate connection */ if ((error = lcb_connect(*instance)) == LCB_SUCCESS) { /* set general method callbacks */ lcb_set_stat_callback(*instance, couchbase_stat_callback); lcb_set_store_callback(*instance, couchbase_store_callback); lcb_set_get_callback(*instance, couchbase_get_callback); lcb_set_http_data_callback(*instance, couchbase_http_data_callback); /* wait on connection */ lcb_wait(*instance); } else { /* return error */ return error; } /* return instance */ return error; }
void pycbc_http_callbacks_init(lcb_t instance) { lcb_set_http_complete_callback(instance, http_complete_callback); lcb_set_http_data_callback(instance, http_data_callback); }