mongo_conn_return mongo_connect( mongo_connection * conn , mongo_connection_options * options ){ MONGO_INIT_EXCEPTION(&conn->exception); conn->left_opts = bson_malloc(sizeof(mongo_connection_options)); conn->right_opts = NULL; if ( options ){ memcpy( conn->left_opts , options , sizeof( mongo_connection_options ) ); } else { strcpy( conn->left_opts->host , "127.0.0.1" ); conn->left_opts->port = 27017; } return mongo_connect_helper(conn); }
void mongo_replset_init_conn( mongo_connection* conn, const char* name ) { MONGO_INIT_EXCEPTION(&conn->exception); conn->replset = bson_malloc( sizeof( mongo_replset ) ); conn->replset->primary_connected = 0; conn->replset->seeds = NULL; conn->replset->hosts = NULL; conn->replset->name = (char *)bson_malloc( sizeof( name ) + 1 ); memcpy( conn->replset->name, name, sizeof( name ) + 1 ); conn->primary = bson_malloc( sizeof( mongo_host_port ) ); conn->primary = NULL; conn->err = 0; conn->errstr = NULL; }
mongo_conn_return mongo_connect( mongo_connection * conn , const char * host, int port ){ MONGO_INIT_EXCEPTION(&conn->exception); conn->replset = NULL; conn->primary = bson_malloc( sizeof( mongo_host_port ) ); strncpy( conn->primary->host, host, strlen( host ) + 1 ); conn->primary->port = port; conn->primary->next = NULL; conn->err = 0; conn->errstr = NULL; return mongo_socket_connect(conn, host, port); }
apr_status_t mongo_connect( apr_pool_t *p, mongo_connection * conn , mongo_connection_options * options ){ MONGO_INIT_EXCEPTION(&conn->exception); conn->p = p; conn->left_opts = (mongo_connection_options*)apr_palloc ( p, sizeof(mongo_connection_options)); conn->right_opts = NULL; if ( options ){ memcpy( conn->left_opts , options , sizeof( mongo_connection_options ) ); } else { strcpy( conn->left_opts->host , "127.0.0.1" ); conn->left_opts->port = 27017; } return mongo_connect_helper(conn); }
mongo_conn_return mongo_connect_pair( mongo_connection * conn , mongo_connection_options * left, mongo_connection_options * right ){ conn->connected = 0; MONGO_INIT_EXCEPTION(&conn->exception); conn->left_opts = NULL; conn->right_opts = NULL; if ( !left || !right ) return mongo_conn_bad_arg; conn->left_opts = bson_malloc(sizeof(mongo_connection_options)); conn->right_opts = bson_malloc(sizeof(mongo_connection_options)); memcpy( conn->left_opts, left, sizeof( mongo_connection_options ) ); memcpy( conn->right_opts, right, sizeof( mongo_connection_options ) ); return mongo_reconnect(conn); }