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());
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)
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();
}