From 01f2ad9ea46ef0a69fb50d30da168336aeda1215 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Mon, 11 Nov 2019 11:54:44 -0500 Subject: [PATCH] tools: show connectivity change in log --- include/opendht/callbacks.h | 7 +++++++ tools/dhtchat.cpp | 8 +------- tools/tools_common.h | 5 +++++ 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/include/opendht/callbacks.h b/include/opendht/callbacks.h index 25a8f457..21fad568 100644 --- a/include/opendht/callbacks.h +++ b/include/opendht/callbacks.h @@ -44,6 +44,13 @@ enum class NodeStatus { Connected // 1+ good nodes }; +inline constexpr const char* +statusToStr(NodeStatus status) { + return status == NodeStatus::Connected ? "connected" : ( + status == NodeStatus::Connecting ? "connecting" : + "disconnected"); +} + struct OPENDHT_PUBLIC NodeStats { unsigned good_nodes {0}, dubious_nodes {0}, diff --git a/tools/dhtchat.cpp b/tools/dhtchat.cpp index 2083287d..baed3b61 100644 --- a/tools/dhtchat.cpp +++ b/tools/dhtchat.cpp @@ -57,19 +57,13 @@ main(int argc, char **argv) DhtRunner dht; try { + params.generate_identity = true; auto dhtConf = getDhtConfig(params); dht.run(params.port, dhtConf.first, std::move(dhtConf.second)); if (not params.bootstrap.first.empty()) dht.bootstrap(params.bootstrap.first.c_str(), params.bootstrap.second.c_str()); -#ifdef OPENDHT_PROXY_CLIENT - if (!params.proxyclient.empty()) { - dht.setProxyServer(params.proxyclient); - dht.enableProxy(true); - } -#endif //OPENDHT_PROXY_CLIENT - print_node_info(dht, params); std::cout << " type 'c {hash}' to join a channel" << std::endl << std::endl; diff --git a/tools/tools_common.h b/tools/tools_common.h index 352a6edc..ff6999a3 100644 --- a/tools/tools_common.h +++ b/tools/tools_common.h @@ -171,6 +171,11 @@ getDhtConfig(dht_params& params) else context.logger = dht::log::getStdLogger(); } + if (context.logger) { + context.statusChangedCallback = [logger = *context.logger](dht::NodeStatus status4, dht::NodeStatus status6) { + logger.WARN("Connectivity changed: IPv4: %s, IPv6: %s", dht::statusToStr(status4), dht::statusToStr(status6)); + }; + } return {std::move(config), std::move(context)}; } -- GitLab