15auto main(
int argc,
char** argv) ->
int {
19 if(!cfg.has_value()) {
20 log->error(
"Error parsing options");
23 log->set_loglevel(cfg->m_loglevel);
24 if(cfg->m_component_id >= cfg->m_ticket_machine_endpoints.size()) {
25 log->error(
"No endpoint specified for ticket machine");
29 auto raft_endpoints = std::vector<cbdc::network::endpoint_t>();
30 for(
auto& e : cfg->m_ticket_machine_endpoints) {
33 raft_endpoints.push_back(new_ep);
38 cfg->m_ticket_machine_endpoints[cfg->m_component_id],
41 if(!raft_server.init()) {
42 log->error(
"Failed to start raft server");
46 static auto running = std::atomic_bool{
true};
48 std::signal(SIGINT, [](
int ) {
52 log->info(
"Ticket machine running");
55 std::this_thread::sleep_for(std::chrono::seconds(1));
58 log->info(
"Shutting down...");