aboutsummaryrefslogtreecommitdiff
path: root/src/hotstuff_app.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/hotstuff_app.cpp')
-rw-r--r--src/hotstuff_app.cpp17
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();
}