From 24b6cea7be8b78eaa3681d6274d671057ed112b5 Mon Sep 17 00:00:00 2001 From: Determinant Date: Sat, 6 Jul 2019 18:37:11 -0400 Subject: finish the simple Round-Robin Pacemaker --- src/hotstuff_app.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'src/hotstuff_app.cpp') diff --git a/src/hotstuff_app.cpp b/src/hotstuff_app.cpp index 778c195..871bafb 100644 --- a/src/hotstuff_app.cpp +++ b/src/hotstuff_app.cpp @@ -35,6 +35,7 @@ #include "hotstuff/util.h" #include "hotstuff/client.h" #include "hotstuff/hotstuff.h" +#include "hotstuff/liveness.h" using salticidae::MsgNetwork; using salticidae::ClientNetwork; @@ -113,6 +114,10 @@ class HotStuffApp: public HotStuff { resp_queue.enqueue(fin); } + void do_elected() override { + HotStuff::do_elected(); + } + //#ifdef HOTSTUFF_AUTOCLI // void do_demand_commands(size_t blk_size) override { // size_t ncli = client_conns.size(); @@ -191,7 +196,7 @@ int main(int argc, char **argv) { config.add_opt("privkey", opt_privkey, Config::SET_VAL); config.add_opt("tls-privkey", opt_tls_privkey, Config::SET_VAL); config.add_opt("tls-cert", opt_tls_cert, Config::SET_VAL); - config.add_opt("pace-maker", opt_pace_maker, Config::SET_VAL, 'p', "specify pace maker (sticky, dummy)"); + config.add_opt("pace-maker", opt_pace_maker, Config::SET_VAL, 'p', "specify pace maker (dummy, rr)"); config.add_opt("proposer", opt_fixed_proposer, Config::SET_VAL, 'l', "set the fixed proposer (for dummy)"); config.add_opt("qc-timeout", opt_qc_timeout, Config::SET_VAL, 't', "set QC timeout (for sticky)"); config.add_opt("imp-timeout", opt_imp_timeout, Config::SET_VAL, 'u', "set impeachment timeout (for sticky)"); @@ -239,12 +244,10 @@ int main(int argc, char **argv) { auto parent_limit = opt_parent_limit->get(); hotstuff::pacemaker_bt pmaker; - if (opt_pace_maker->get() == "sticky") - pmaker = new hotstuff::PaceMakerSticky(parent_limit, opt_qc_timeout->get(), ec); - else if (opt_pace_maker->get() == "rr") - pmaker = new hotstuff::PaceMakerRR(parent_limit, opt_qc_timeout->get(), ec); - else + if (opt_pace_maker->get() == "dummy") pmaker = new hotstuff::PaceMakerDummyFixed(opt_fixed_proposer->get(), parent_limit); + else + pmaker = new hotstuff::PaceMakerRR(parent_limit, opt_qc_timeout->get(), ec); HotStuffApp::Net::Config repnet_config; ClientNetwork::Config clinet_config; @@ -374,10 +377,11 @@ void HotStuffApp::start(const std::vectorimpeach(); reset_imp_timer(); }); - //impeach_timer.add(impeach_timeout); + impeach_timer.add(impeach_timeout); HOTSTUFF_LOG_INFO("** starting the system with parameters **"); HOTSTUFF_LOG_INFO("blk_size = %lu", blk_size); HOTSTUFF_LOG_INFO("conns = %lu", HotStuff::size()); -- cgit v1.2.3