#include "stats.hpp" #include "logging.hpp" #include #include int main(int argc, char* argv[]) { namespace po = boost::program_options; init_logging(boost::log::trivial::severity_level::trace, "statsd"); 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.") ; 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(); ListenSettings lsettings{en4, if4, en6, if6, port, false, "", "", ""}; Stats stats(lsettings); stats.run(); }