Beispiel #1
0
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);
        }
    }
}
Beispiel #2
0
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];
}
Beispiel #3
0
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;
}