void rpcConnect(void) { int i; for (i = 0; i < giga_options_t.num_servers; i++) { if (rpc_host_connect(&rpc_clnts[i], giga_options_t.serverlist[i]) < 0) LOG_ERR("CONN_ERROR: -> s[%d]", i); else { struct timeval to; to.tv_sec = 180; to.tv_usec = 0; clnt_control(rpc_clnts[i], CLSET_TIMEOUT, (char*)&to); LOG_ERR("CONN_SETUP: -> s[%d]", i); } } }
CLIENT *getConnection(int srv_id) { assert(srv_id >= 0 && srv_id < giga_options_t.num_servers); if (rpc_clnts[srv_id] == NULL) { LOG_ERR("Trying connection for server[%d] ...", srv_id); if (rpc_host_connect(&rpc_clnts[srv_id], giga_options_t.serverlist[srv_id]) < 0) { LOG_ERR("ERROR connecting to server [%d]", srv_id); return NULL; } struct timeval to; to.tv_sec = 180; to.tv_usec = 0; clnt_control(rpc_clnts[srv_id], CLSET_TIMEOUT, (char*)&to); } return rpc_clnts[srv_id]; }
int rpc_connect(void) { int i; rpc_clients = malloc(sizeof(CLIENT *)*skye_options.servercount); if (!rpc_clients) return -ENOMEM; for (i = 0; i < skye_options.servercount; i++){ int ret = rpc_host_connect(&rpc_clients[i], skye_options.serverlist[i]); if (ret < 0) return ret; } for (i = 0; i < skye_options.servercount; i++){ struct timeval to; to.tv_sec = 60; to.tv_usec = 0; clnt_control(rpc_clients[i], CLSET_TIMEOUT, (char*)&to); } return 0; }