Rolled handle infrastructure into rpcc.
[invirt/third/libt4.git] / paxos.cc
index a055c36..2c7e79a 100644 (file)
--- a/paxos.cc
+++ b/paxos.cc
@@ -1,5 +1,4 @@
 #include "paxos.h"
-#include "handle.h"
 
 using namespace std::placeholders;
 
@@ -94,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(
@@ -124,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;
@@ -138,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;