Clean-ups
[invirt/third/libt4.git] / paxos.cc
index cb32e36..2c7e79a 100644 (file)
--- a/paxos.cc
+++ b/paxos.cc
@@ -1,15 +1,17 @@
 #include "paxos.h"
-#include "handle.h"
+
+using namespace std::placeholders;
 
 paxos_change::~paxos_change() {}
 
 bool isamember(const node_t & m, const nodes_t & nodes) {
-    return find(nodes.begin(), nodes.end(), m) != nodes.end();
+    return std::find(nodes.begin(), nodes.end(), m) != nodes.end();
 }
 
 // check if l2 contains a majority of the elements of l1
 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));
+    auto overlap = (size_t)std::count_if(
+            l1.begin(), l1.end(), std::bind(isamember, _1, l2));
     return overlap >= (l1.size() >> 1) + 1;
 }
 
@@ -48,7 +50,7 @@ bool proposer_acceptor::run(unsigned instance, const nodes_t & cur_nodes, const
     }
     stable = false;
     bool r = false;
-    proposal.n = max(promise.n, proposal.n) + 1;
+    proposal.n = std::max(promise.n, proposal.n) + 1;
     nodes_t accepts;
     value_t v;
     if (prepare(instance, accepts, cur_nodes, v)) {
@@ -91,8 +93,7 @@ bool proposer_acceptor::prepare(unsigned instance, nodes_t & accepts,
     prepareres res;
     prop_t highest_n_a{0, ""};
     for (auto i : nodes) {
-        handle h(i);
-        rpcc *r = h.safebind();
+        auto r = rpcc::bind_cached(i);
         if (!r)
             continue;
         auto status = (paxos_protocol::status)r->call_timeout(
@@ -121,8 +122,7 @@ bool proposer_acceptor::prepare(unsigned instance, nodes_t & accepts,
 void proposer_acceptor::accept(unsigned instance, nodes_t & accepts,
         const nodes_t & nodes, const value_t & v) {
     for (auto i : nodes) {
-        handle h(i);
-        rpcc *r = h.safebind();
+        auto r = rpcc::bind_cached(i);
         if (!r)
             continue;
         bool accept = false;
@@ -135,8 +135,7 @@ void proposer_acceptor::accept(unsigned instance, nodes_t & accepts,
 
 void proposer_acceptor::decide(unsigned instance, const nodes_t & accepts, const value_t & v) {
     for (auto i : accepts) {
-        handle h(i);
-        rpcc *r = h.safebind();
+        auto r = rpcc::bind_cached(i);
         if (!r)
             continue;
         int res = 0;