From 96347d83e1ea8d29d5380b595b3e14509113a054 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Mon, 8 Apr 2019 11:30:39 -0400 Subject: [PATCH] tools: add argument for peer discovery --- tools/dhtnode.cpp | 2 ++ tools/tools_common.h | 43 ++++++++++++++++++++++++------------------- 2 files changed, 26 insertions(+), 19 deletions(-) diff --git a/tools/dhtnode.cpp b/tools/dhtnode.cpp index 189fb637..45e6ef41 100644 --- a/tools/dhtnode.cpp +++ b/tools/dhtnode.cpp @@ -505,6 +505,8 @@ main(int argc, char **argv) config.threaded = true; config.proxy_server = params.proxyclient; config.push_node_id = "dhtnode"; + config.peer_discovery = params.peer_discovery; + config.peer_publish = params.peer_discovery; if (not params.proxyclient.empty()) dht->setPushNotificationToken(params.devicekey); diff --git a/tools/tools_common.h b/tools/tools_common.h index 39671475..f0ff4c26 100644 --- a/tools/tools_common.h +++ b/tools/tools_common.h @@ -98,6 +98,7 @@ struct dht_params { bool generate_identity {false}; bool daemonize {false}; bool service {false}; + bool peer_discovery {false}; std::pair<std::string, std::string> bootstrap {}; in_port_t proxyserver {0}; std::string proxyclient {}; @@ -107,29 +108,30 @@ struct dht_params { }; static const constexpr struct option long_options[] = { - {"help", no_argument , nullptr, 'h'}, - {"port", required_argument, nullptr, 'p'}, - {"net", required_argument, nullptr, 'n'}, - {"bootstrap", required_argument, nullptr, 'b'}, - {"identity", no_argument , nullptr, 'i'}, - {"verbose", no_argument , nullptr, 'v'}, - {"daemonize", no_argument , nullptr, 'd'}, - {"service", no_argument , nullptr, 's'}, - {"persist", required_argument, nullptr, 'f'}, - {"logfile", required_argument, nullptr, 'l'}, - {"syslog", no_argument , nullptr, 'L'}, - {"proxyserver",required_argument, nullptr, 'S'}, - {"proxyclient",required_argument, nullptr, 'C'}, - {"pushserver", required_argument, nullptr, 'P'}, - {"devicekey", required_argument, nullptr, 'D'}, - {nullptr, 0 , nullptr, 0} + {"help", no_argument , nullptr, 'h'}, + {"port", required_argument, nullptr, 'p'}, + {"net", required_argument, nullptr, 'n'}, + {"bootstrap", required_argument, nullptr, 'b'}, + {"identity", no_argument , nullptr, 'i'}, + {"verbose", no_argument , nullptr, 'v'}, + {"daemonize", no_argument , nullptr, 'd'}, + {"service", no_argument , nullptr, 's'}, + {"peer-discovery", no_argument , nullptr, 'D'}, + {"persist", required_argument, nullptr, 'f'}, + {"logfile", required_argument, nullptr, 'l'}, + {"syslog", no_argument , nullptr, 'L'}, + {"proxyserver", required_argument, nullptr, 'S'}, + {"proxyclient", required_argument, nullptr, 'C'}, + {"pushserver", required_argument, nullptr, 'y'}, + {"devicekey", required_argument, nullptr, 'z'}, + {nullptr, 0 , nullptr, 0} }; dht_params parseArgs(int argc, char **argv) { dht_params params; int opt; - while ((opt = getopt_long(argc, argv, "hidsvp:n:b:f:l:", long_options, nullptr)) != -1) { + while ((opt = getopt_long(argc, argv, "hidsvDp:n:b:f:l:", long_options, nullptr)) != -1) { switch (opt) { case 'p': { int port_arg = atoi(optarg); @@ -147,13 +149,16 @@ parseArgs(int argc, char **argv) { std::cout << "Invalid port: " << port_arg << std::endl; } break; - case 'P': + case 'D': + params.peer_discovery = true; + break; + case 'y': params.pushserver = optarg; break; case 'C': params.proxyclient = optarg; break; - case 'D': + case 'z': params.devicekey = optarg; break; case 'f': -- GitLab