Simplifications and clean-ups
[invirt/third/libt4.git] / rsm.cc
diff --git a/rsm.cc b/rsm.cc
index 672243c..5812b33 100644 (file)
--- a/rsm.cc
+++ b/rsm.cc
@@ -174,7 +174,7 @@ bool rsm::sync_with_backups(lock & rsm_mutex_lock) {
     // Start accepting synchronization request (statetransferreq) now!
     insync = true;
     cfg->get_view(vid_insync, backups);
-    backups.erase(find(backups.begin(), backups.end(), cfg->myaddr()));
+    backups.erase(std::find(backups.begin(), backups.end(), cfg->myaddr()));
     LOG << "backups " << backups;
     sync_cond.wait(rsm_mutex_lock);
     insync = false;
@@ -214,7 +214,7 @@ bool rsm::statetransfer(const string & m, lock & rsm_mutex_lock)
         rsm_mutex_lock.lock();
     }
     if (cl == 0 || ret != rsm_protocol::OK) {
-        LOG << "couldn't reach " << m << " " << hex << cl << " " << dec << ret;
+        LOG << "couldn't reach " << m << " " << std::hex << cl << " " << std::dec << ret;
         return false;
     }
     if (stf && last_myvs != r.last) {
@@ -258,7 +258,7 @@ bool rsm::join(const string & m, lock & rsm_mutex_lock) {
     }
 
     if (cl == 0 || ret != rsm_protocol::OK) {
-        LOG << "couldn't reach " << m << " " << hex << cl << " " << dec << ret;
+        LOG << "couldn't reach " << m << " " << std::hex << cl << " " << std::dec << ret;
         return false;
     }
     LOG << "succeeded " << log;
@@ -301,6 +301,12 @@ void rsm::execute(rpc_protocol::proc_id_t procno, const string & req, string & r
     r = marshall(ret, rep.content()).content();
 }
 
+static void logHexString(locked_ostream && log, const string & s) {
+    log << std::setfill('0') << std::setw(2) << std::hex;
+    for (size_t i=0; i<s.size(); i++)
+        log << (unsigned int)(unsigned char)s[i];
+}
+
 //
 // Clients call client_invoke to invoke a procedure on the replicated state
 // machine: the primary receives the request, assigns it a sequence
@@ -308,7 +314,7 @@ void rsm::execute(rpc_protocol::proc_id_t procno, const string & req, string & r
 // machine.
 //
 rsm_client_protocol::status rsm::client_invoke(string & r, rpc_protocol::proc_id_t procno, const string & req) {
-    LOG << "invoke procno 0x" << hex << procno;
+    LOG << "invoke procno 0x" << std::hex << procno;
     lock ml(invoke_mutex);
     vector<string> m;
     string myaddr;
@@ -349,17 +355,9 @@ rsm_client_protocol::status rsm::client_invoke(string & r, rpc_protocol::proc_id
             partition1(rsm_mutex_lock);
         }
     }
-    {
-        auto && log = LOG << setfill('0') << setw(2) << hex;
-        for (size_t i=0; i<req.size(); i++)
-            log << (unsigned int)(unsigned char)req[i];
-    }
+    logHexString(LOG, req);
     execute(procno, req, r);
-    {
-        auto && log = LOG << setfill('0') << setw(2) << hex;
-        for (size_t i=0; i<r.size(); i++)
-            log << (unsigned int)(unsigned char)r[i];
-    }
+    logHexString(LOG, r);
     last_myvs = vs;
     return rsm_client_protocol::OK;
 }
@@ -372,7 +370,7 @@ rsm_client_protocol::status rsm::client_invoke(string & r, rpc_protocol::proc_id
 // according to requests' seqno
 
 rsm_protocol::status rsm::invoke(int &, rpc_protocol::proc_id_t proc, viewstamp vs, const string & req) {
-    LOG << "invoke procno 0x" << hex << proc;
+    LOG << "invoke procno 0x" << std::hex << proc;
     lock ml(invoke_mutex);
     vector<string> m;
     string myaddr;
@@ -388,7 +386,7 @@ rsm_protocol::status rsm::invoke(int &, rpc_protocol::proc_id_t proc, viewstamp
         if (primary == myaddr)
             return rsm_protocol::ERR;
         cfg->get_view(vid_commit, m);
-        if (find(m.begin(), m.end(), myaddr) == m.end())
+        if (std::find(m.begin(), m.end(), myaddr) == m.end())
             return rsm_protocol::ERR;
         // check sequence number
         LOG << "Checking sequence number";
@@ -427,7 +425,7 @@ rsm_protocol::status rsm::transferdonereq(int &, const string & m, unsigned vid)
     lock ml(rsm_mutex);
     if (!insync || vid != vid_insync)
         return rsm_protocol::BUSY;
-    backups.erase(find(backups.begin(), backups.end(), m));
+    backups.erase(std::find(backups.begin(), backups.end(), m));
     if (backups.empty())
         sync_cond.notify_one();
     return rsm_protocol::OK;