static void connect_done_handler(lcb_connection_t conn, lcb_error_t err) { http_provider *http = (http_provider *)conn->data; const lcb_host_t *host = lcb_connection_get_host(conn); if (err != LCB_SUCCESS) { lcb_log(LOGARGS(http, ERR), "Connection to REST API @%s:%s failed with code=0x%x", host->host, host->port, err); io_error(http, err); return; } lcb_log(LOGARGS(http, DEBUG), "Successfuly connected to REST API %s:%s", host->host, host->port); lcb_connection_reset_buffers(conn); ringbuffer_strcat(conn->output, http->request_buf); lcb_assert(conn->output->nbytes > 0); lcb_sockrw_set_want(conn, LCB_RW_EVENT, 0); lcb_sockrw_apply_want(conn); lcb_timer_rearm(http->io_timer, PROVIDER_SETTING(&http->base, config_node_timeout)); }
static void connect_done_handler(lcb_connection_t conn, lcb_error_t err) { lcb_t instance = conn->instance; if (err == LCB_SUCCESS) { /** * Print the URI to the ringbuffer */ ringbuffer_strcat(conn->output, instance->bootstrap.via.http.uri); lcb_assert(conn->output->nbytes > 0); lcb_sockrw_set_want(conn, LCB_RW_EVENT, 0); lcb_sockrw_apply_want(conn); lcb_connection_activate_timer(conn); return; } if (err == LCB_ETIMEDOUT) { timeout_handler(conn, err); } else { lcb_bootstrap_error(instance, err, "Couldn't connect", 0); } }