projects
/
invirt/third/libt4.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
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);
// 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;
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) {
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) {
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) {
}
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;
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();
}
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
//
// 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) {
// 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;
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);
}
}
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);
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;
}
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) {
// 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;
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 (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";
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;
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;
if (backups.empty())
sync_cond.notify_one();
return rsm_protocol::OK;