- int call1(proc_id_t proc, marshall &req, string &rep, milliseconds to);
-
- template<class R>
- int call_m(proc_id_t proc, marshall &req, R & r, milliseconds to) {
- string rep;
- int intret = call1(proc, req, rep, to);
- unmarshall u(rep, true);
- if (intret < 0) return intret;
- u >> r;
- if (u.okdone() != true) {
- LOG("rpcc::call_m: failed to unmarshall the reply. You are probably " <<
- "calling RPC 0x" << hex << proc << " with the wrong return type.");
- VERIFY(0);
- return rpc_protocol::unmarshal_reply_failure;
- }
- return intret;
- }
+ int call_marshalled(const rpc_protocol::proc_t & proc, milliseconds to, string & rep, const marshall & req);