X-Git-Url: http://xvm.mit.edu/gitweb/invirt/third/libt4.git/blobdiff_plain/a4175b2e216a20b86cc872dea8a08005c60617a5..0989f6feac9c8e83847165c4abee5273463eaa63:/rsm_client.cc diff --git a/rsm_client.cc b/rsm_client.cc index 9beb0b3..2e6d33d 100644 --- a/rsm_client.cc +++ b/rsm_client.cc @@ -28,8 +28,8 @@ void rsm_client::primary_failure() { known_mems.pop_back(); } -rsm_protocol::status rsm_client::invoke(int proc, std::string req, std::string &rep) { - int ret; +rsm_protocol::status rsm_client::invoke(int proc, std::string &rep, const std::string &req) { + int ret = 0; lock ml(rsm_client_mutex); while (1) { printf("rsm_client::invoke proc %x primary %s\n", proc, primary.c_str()); @@ -38,7 +38,7 @@ rsm_protocol::status rsm_client::invoke(int proc, std::string req, std::string & ml.unlock(); rpcc *cl = h.safebind(); if (cl) - ret = cl->call(rsm_client_protocol::invoke, proc, req, rep, rpcc::to(5000)); + ret = cl->call_timeout(rsm_client_protocol::invoke, rpcc::to(5000), rep, proc, req); ml.lock(); if (!cl) @@ -77,8 +77,7 @@ bool rsm_client::init_members() { ml.unlock(); cl = h.safebind(); if (cl) { - ret = cl->call(rsm_client_protocol::members, 0, known_mems, - rpcc::to(1000)); + ret = cl->call_timeout(rsm_client_protocol::members, rpcc::to(1000), known_mems, 0); } ml.lock(); }