#include "networkhandler.hpp" #include "nodemanager.hpp" #include #include #include #include NodeManager key_exchange_phase(); int main(int argc, char* argv[]) { namespace po = boost::program_options; po::options_description desc("Allowed options"); desc.add_options() ("help,h", "produce help message.") ("port,p", po::value()->default_value(9200), "Set listening port.") ("enable_v4", po::value()->default_value(true), "Enable/disable ipv4 accept support.") ("interface4,4", po::value()->default_value("0.0.0.0"), "Set the ipv4 address to listen on.") ("enable_v6", po::value()->default_value(true), "Enable/disable ipv6 accept support.") ("interface6,6", po::value()->default_value("::"), "Set the ipv6 address to listen on.") ("nodes,n", po::value(), "Set the node addreses to use in the cmix network.") ; po::variables_map vm; po::store(po::parse_command_line(argc, argv, desc), vm); po::notify(vm); if (vm.count("help")) { std::cout << desc << "\n"; return 0; } bool en4 = vm["enable_v4"].as(); std::string if4 = vm["interface4"].as(); bool en6 = vm["enable_v6"].as(); std::string if6 = vm["interface6"].as(); uint16_t port = vm["port"].as(); NodeManager node_manager({}); ListenSettings lsettings{en4, if4, en6, if6, port}; NetworkHandler handler(lsettings); handler.run(); }