diff options
Diffstat (limited to 'src/hotstuff_app.cpp')
-rw-r--r-- | src/hotstuff_app.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/hotstuff_app.cpp b/src/hotstuff_app.cpp index e9a97e3..f8f15f9 100644 --- a/src/hotstuff_app.cpp +++ b/src/hotstuff_app.cpp @@ -124,7 +124,7 @@ class HotStuffApp: public HotStuff { const Net::Config &repnet_config, const ClientNetwork<opcode_t>::Config &clinet_config); - void start(); + void start(const std::vector<std::pair<NetAddr, bytearray_t>> &reps); }; std::pair<std::string, std::string> split_ip_port_cport(const std::string &s) { @@ -241,11 +241,12 @@ int main(int argc, char **argv) { opt_nworker->get(), repnet_config, clinet_config); - for (size_t i = 0; i < replicas.size(); i++) + std::vector<std::pair<NetAddr, bytearray_t>> reps; + for (auto &r: replicas) { - auto p = split_ip_port_cport(replicas[i].first); - papp->add_replica(i, NetAddr(p.first), - hotstuff::from_hex(replicas[i].second)); + auto p = split_ip_port_cport(r.first); + reps.push_back(std::make_pair( + NetAddr(p.first), hotstuff::from_hex(r.second))); } auto shutdown = [&](int) { ec.stop(); }; salticidae::SigEvent ev_sigint(ec, shutdown); @@ -253,7 +254,7 @@ int main(int argc, char **argv) { ev_sigint.add(SIGINT); ev_sigterm.add(SIGTERM); - papp->start(); + papp->start(reps); elapsed.stop(true); return 0; } @@ -309,7 +310,7 @@ void HotStuffApp::client_request_cmd_handler(MsgReqCmd &&msg, const conn_t &conn } } -void HotStuffApp::start() { +void HotStuffApp::start(const std::vector<std::pair<NetAddr, bytearray_t>> &reps) { ev_stat_timer = TimerEvent(ec, [this](TimerEvent &) { HotStuff::print_stat(); //HotStuffCore::prune(100); @@ -325,7 +326,7 @@ void HotStuffApp::start() { HOTSTUFF_LOG_INFO("blk_size = %lu", blk_size); HOTSTUFF_LOG_INFO("conns = %lu", HotStuff::size()); HOTSTUFF_LOG_INFO("** starting the event loop..."); - HotStuff::start(); + HotStuff::start(reps); /* enter the event main loop */ ec.dispatch(); } |