-config::config(
- const std::string &_first,
- const std::string &_me,
- config_view_change *_vc)
- : my_view_id(0), first(_first), me(_me), vc(_vc)
-{
- paxos_acceptor = new acceptor(this, me == _first, me, me);
- 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, &config::heartbeat, this);
-
- {
- lock ml(cfg_mutex);
- reconstruct();
- std::thread(&config::heartbeater, this).detach();
- }
-}