paxos_proposer = new proposer(this, paxos_acceptor, me);
// XXX hack; maybe should have its own port number
- paxos_acceptor->get_rpcs()->reg(paxos_protocol::heartbeat, this, &config::heartbeat);
+ paxos_acceptor->get_rpcs()->reg(paxos_protocol::heartbeat, &config::heartbeat, this);
{
lock ml(cfg_mutex);
}
paxos_protocol::status
-config::heartbeat(std::string m, unsigned vid, int &r)
+config::heartbeat(int &r, std::string m, unsigned vid)
{
lock ml(cfg_mutex);
int ret = paxos_protocol::ERR;
ml.unlock();
rpcc *cl = h.safebind();
if (cl) {
- ret = cl->call(paxos_protocol::heartbeat, me, vid, r,
- rpcc::to(1000));
+ ret = cl->call_timeout(paxos_protocol::heartbeat, rpcc::to(1000), r, me, vid);
}
ml.lock();
}