CassError connect_session(CassCluster* cluster, CassSession** output) { CassError rc = CASS_OK; CassFuture* future = cass_cluster_connect(cluster); *output = NULL; cass_future_wait(future); rc = cass_future_error_code(future); if(rc != CASS_OK) { print_error(future); } else { *output = cass_future_get_session(future); } cass_future_free(future); return rc; }
bool Connection::open() { if (_is_open) { return true; } CassCluster* cluster = cass_cluster_new(); cass_cluster_set_protocol_version(cluster, 2); cass_cluster_set_contact_points(cluster, _host_string); cass_cluster_set_port(cluster, _port); CassFuture* future = cass_cluster_connect(cluster); _session = cass_future_get_session(future); _is_open = cass_future_error_code(future) == CASS_OK && _session != nullptr; cass_future_free(future); cass_cluster_free(cluster); return _is_open; }