Skip to content
Snippets Groups Projects
Commit 01f2ad9e authored by Adrien Béraud's avatar Adrien Béraud
Browse files

tools: show connectivity change in log

parent 2dd4cde0
Branches
Tags
No related merge requests found
...@@ -44,6 +44,13 @@ enum class NodeStatus { ...@@ -44,6 +44,13 @@ enum class NodeStatus {
Connected // 1+ good nodes 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 { struct OPENDHT_PUBLIC NodeStats {
unsigned good_nodes {0}, unsigned good_nodes {0},
dubious_nodes {0}, dubious_nodes {0},
......
...@@ -57,19 +57,13 @@ main(int argc, char **argv) ...@@ -57,19 +57,13 @@ main(int argc, char **argv)
DhtRunner dht; DhtRunner dht;
try { try {
params.generate_identity = true;
auto dhtConf = getDhtConfig(params); auto dhtConf = getDhtConfig(params);
dht.run(params.port, dhtConf.first, std::move(dhtConf.second)); dht.run(params.port, dhtConf.first, std::move(dhtConf.second));
if (not params.bootstrap.first.empty()) if (not params.bootstrap.first.empty())
dht.bootstrap(params.bootstrap.first.c_str(), params.bootstrap.second.c_str()); 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); print_node_info(dht, params);
std::cout << " type 'c {hash}' to join a channel" << std::endl << std::endl; std::cout << " type 'c {hash}' to join a channel" << std::endl << std::endl;
......
...@@ -171,6 +171,11 @@ getDhtConfig(dht_params& params) ...@@ -171,6 +171,11 @@ getDhtConfig(dht_params& params)
else else
context.logger = dht::log::getStdLogger(); 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)}; return {std::move(config), std::move(context)};
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment