X-Git-Url: http://xvm.mit.edu/gitweb/invirt/third/libt4.git/blobdiff_plain/46fb2b4bbe3a0a8516ab04cfafa895a882c70f86..5d99dbf06a14904944f5593c63705934bdfdcfb7:/rsm_client.h diff --git a/rsm_client.h b/rsm_client.h index 4a80f60..0b1dc88 100644 --- a/rsm_client.h +++ b/rsm_client.h @@ -14,14 +14,14 @@ class rsm_client { protected: - std::string primary; - std::vector known_mems; - std::mutex rsm_client_mutex; + string primary; + vector known_mems; + mutex rsm_client_mutex; void primary_failure(lock & rsm_client_mutex_lock); bool init_members(lock & rsm_client_mutex_lock); public: - rsm_client(std::string dst); - rsm_protocol::status invoke(unsigned int proc, std::string &rep, const std::string &req); + rsm_client(string dst); + rsm_protocol::status invoke(unsigned int proc, string &rep, const string &req); template int call(unsigned int proc, R & r, const Args & ...a1); @@ -31,11 +31,11 @@ class rsm_client { template int rsm_client::call_m(unsigned int proc, R & r, const marshall & req) { - std::string rep; - std::string res; - int intret = invoke(proc, rep, req.cstr()); + string rep; + string res; + int intret = invoke(proc, rep, req); VERIFY( intret == rsm_client_protocol::OK ); - unmarshall u(rep); + unmarshall u(rep, false); u >> intret; if (intret < 0) return intret; u >> res; @@ -47,7 +47,7 @@ int rsm_client::call_m(unsigned int proc, R & r, const marshall & req) { VERIFY(0); return rpc_const::unmarshal_reply_failure; } - unmarshall u1(res); + unmarshall u1(res, false); u1 >> r; if(!u1.okdone()) { cerr << "rsm_client::call_m: failed to unmarshall the reply." << endl;