-bool majority(const nodes_t &l1, const nodes_t &l2) {
- auto overlap = (size_t)count_if(l1.begin(), l1.end(), bind(isamember, _1, l2));
+bool majority(const nodes_t & l1, const nodes_t & l2) {
+ auto overlap = (size_t)count_if(l1.begin(), l1.end(), std::bind(isamember, _1, l2));
bool _first, const node_t & _me, const value_t & _value)
: delegate(_delegate), me (_me)
{
bool _first, const node_t & _me, const value_t & _value)
: delegate(_delegate), me (_me)
{
if (prepare(instance, accepts, cur_nodes, v)) {
if (majority(cur_nodes, accepts)) {
LOG("received a majority of prepare responses");
if (prepare(instance, accepts, cur_nodes, v)) {
if (majority(cur_nodes, accepts)) {
LOG("received a majority of prepare responses");
- paxos_protocol::preparereq, rpcc::to(1000), res, me, instance, proposal);
+ paxos_protocol::preparereq, milliseconds(100), res, me, instance, proposal);
- paxos_protocol::acceptreq, rpcc::to(1000), accept, me, instance, proposal, v);
+ paxos_protocol::acceptreq, milliseconds(100), accept, me, instance, proposal, v);
- r->call_timeout(paxos_protocol::decidereq, rpcc::to(1000), res, me, instance, v);
+ r->call_timeout(paxos_protocol::decidereq, milliseconds(100), res, me, instance, v);
values[instance] = value;
l.loginstance(instance, value);
instance_h = instance;
accepted = promise = {0, me};
values[instance] = value;
l.loginstance(instance, value);
instance_h = instance;
accepted = promise = {0, me};