diff options
author | Anand V. Avati <avati@blackhole.gluster.com> | 2010-08-12 05:05:02 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2010-08-12 03:55:16 -0700 |
commit | 12ce6a962aee3674eb722a09241b43923712ee8e (patch) | |
tree | 61b9e822a8dc398e24c654378fcfd886ce51c447 /rpc/rpc-lib/src/rpc-clnt.c | |
parent | b69a4f1e31726260a07f883cefac28ed29cc6a12 (diff) |
rpc-clnt/socket: rpc_clnt_reconfig() API to support overriding of port numbers
Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 1314 (portmapper functionality)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1314
Diffstat (limited to 'rpc/rpc-lib/src/rpc-clnt.c')
-rw-r--r-- | rpc/rpc-lib/src/rpc-clnt.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/rpc/rpc-lib/src/rpc-clnt.c b/rpc/rpc-lib/src/rpc-clnt.c index dd28c60e0..7e3d90bfe 100644 --- a/rpc/rpc-lib/src/rpc-clnt.c +++ b/rpc/rpc-lib/src/rpc-clnt.c @@ -379,7 +379,7 @@ rpc_clnt_reconnect (void *trans_ptr) gf_log (trans->name, GF_LOG_TRACE, "attempting reconnect"); - ret = rpc_transport_connect (trans); + ret = rpc_transport_connect (trans, conn->config.remote_port); conn->reconnect = gf_timer_call_after (clnt->ctx, tv, @@ -1261,7 +1261,8 @@ rpc_clnt_submit (struct rpc_clnt *rpc, rpc_clnt_prog_t *prog, pthread_mutex_lock (&conn->lock); { if (conn->connected == 0) { - rpc_transport_connect (conn->trans); + rpc_transport_connect (conn->trans, + conn->config.remote_port); } ret = -1; @@ -1348,3 +1349,20 @@ rpc_clnt_destroy (struct rpc_clnt *rpc) GF_FREE (rpc); return; } + + +void +rpc_clnt_reconfig (struct rpc_clnt *rpc, struct rpc_clnt_config *config) +{ + if (config->rpc_timeout) + rpc->conn.config.rpc_timeout = config->rpc_timeout; + + if (config->remote_port) + rpc->conn.config.remote_port = config->remote_port; + + if (config->remote_host) { + if (rpc->conn.config.remote_host) + FREE (rpc->conn.config.remote_host); + rpc->conn.config.remote_host = gf_strdup (config->remote_host); + } +} |