X-Git-Url: http://xvm.mit.edu/gitweb/invirt/third/libt4.git/blobdiff_plain/a5f10a497bebfc680bf418193f1fd9f1ad7cc417..ebd5aef6dc92accb509b1cc67eaf72159f35cdfa:/rsm_client.cc diff --git a/rsm_client.cc b/rsm_client.cc index e5e4c2b..598a1ed 100644 --- a/rsm_client.cc +++ b/rsm_client.cc @@ -1,4 +1,3 @@ -#include "types.h" #include "rsm_client.h" #include #include @@ -8,7 +7,7 @@ rsm_client::rsm_client(string dst) : primary(dst) { LOG("create rsm_client"); lock ml(rsm_client_mutex); VERIFY (init_members(ml)); - LOG("rsm_client: done"); + LOG("done"); } void rsm_client::primary_failure(lock &) { @@ -16,7 +15,7 @@ void rsm_client::primary_failure(lock &) { known_mems.pop_back(); } -rsm_protocol::status rsm_client::invoke(unsigned int proc, string &rep, const string &req) { +rsm_protocol::status rsm_client::invoke(unsigned int proc, string & rep, const string & req) { lock ml(rsm_client_mutex); while (1) { LOG("proc " << hex << proc << " primary " << primary); @@ -26,7 +25,7 @@ rsm_protocol::status rsm_client::invoke(unsigned int proc, string &rep, const st rpcc *cl = h.safebind(); auto ret = rsm_client_protocol::OK; if (cl) - ret = (rsm_client_protocol::status)cl->call_timeout(rsm_client_protocol::invoke, rpcc::to(5000), rep, proc, req); + ret = (rsm_client_protocol::status)cl->call_timeout(rsm_client_protocol::invoke, milliseconds(500), rep, proc, req); ml.lock(); if (!cl) @@ -37,7 +36,7 @@ rsm_protocol::status rsm_client::invoke(unsigned int proc, string &rep, const st return rsm_protocol::OK; if (ret == rsm_client_protocol::BUSY) { LOG("rsm is busy " << primary); - sleep(3); + usleep(300000); continue; } if (ret == rsm_client_protocol::NOTPRIMARY) { @@ -61,7 +60,7 @@ bool rsm_client::init_members(lock & rsm_client_mutex_lock) { rsm_client_mutex_lock.unlock(); cl = h.safebind(); if (cl) - ret = cl->call_timeout(rsm_client_protocol::members, rpcc::to(1000), known_mems, 0); + ret = cl->call_timeout(rsm_client_protocol::members, milliseconds(100), known_mems, 0); rsm_client_mutex_lock.lock(); } if (cl == 0 || ret != rsm_protocol::OK)