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

tools: add "-v" cmd argument to enable logging

parent 8d92884c
Branches
Tags
No related merge requests found
...@@ -59,6 +59,8 @@ void print_node_info(const DhtRunner& dht, const dht_params& params) { ...@@ -59,6 +59,8 @@ void print_node_info(const DhtRunner& dht, const dht_params& params) {
int int
main(int argc, char **argv) main(int argc, char **argv)
{ {
DhtRunner dht;
try {
auto params = parseArgs(argc, argv); auto params = parseArgs(argc, argv);
if (params.help) { if (params.help) {
print_usage(); print_usage();
...@@ -76,9 +78,11 @@ main(int argc, char **argv) ...@@ -76,9 +78,11 @@ main(int argc, char **argv)
crt = dht::crypto::generateIdentity("DHT Node", ca_tmp); crt = dht::crypto::generateIdentity("DHT Node", ca_tmp);
} }
DhtRunner dht;
dht.run(params.port, crt, true, params.is_bootstrap_node); dht.run(params.port, crt, true, params.is_bootstrap_node);
if (params.log)
enableLogging(dht);
if (not params.bootstrap.empty()) { if (not params.bootstrap.empty()) {
std::cout << "Bootstrap: " << params.bootstrap[0] << ":" << params.bootstrap[1] << std::endl; std::cout << "Bootstrap: " << params.bootstrap[0] << ":" << params.bootstrap[1] << std::endl;
dht.bootstrap(params.bootstrap[0].c_str(), params.bootstrap[1].c_str()); dht.bootstrap(params.bootstrap[0].c_str(), params.bootstrap[1].c_str());
...@@ -87,7 +91,6 @@ main(int argc, char **argv) ...@@ -87,7 +91,6 @@ main(int argc, char **argv)
print_node_info(dht, params); print_node_info(dht, params);
std::cout << " (type 'h' or 'help' for a list of possible commands)" << std::endl << std::endl; std::cout << " (type 'h' or 'help' for a list of possible commands)" << std::endl << std::endl;
bool do_log {false};
while (true) while (true)
{ {
std::cout << ">> "; std::cout << ">> ";
...@@ -149,8 +152,8 @@ main(int argc, char **argv) ...@@ -149,8 +152,8 @@ main(int argc, char **argv)
std::cout << addr << std::endl; std::cout << addr << std::endl;
continue; continue;
} else if (op == "log") { } else if (op == "log") {
do_log = !do_log; params.log = !params.log;
if (do_log) if (params.log)
enableLogging(dht); enableLogging(dht);
else else
disableLogging(dht); disableLogging(dht);
...@@ -246,7 +249,12 @@ main(int argc, char **argv) ...@@ -246,7 +249,12 @@ main(int argc, char **argv)
} }
std::cout << std::endl << "Stopping node..." << std::endl; std::cout << std::endl << "Stopping node..." << std::endl;
} catch(const std::exception&e) {
std::cout << std::endl << e.what() << std::endl;
}
dht.join(); dht.join();
gnutls_global_deinit(); gnutls_global_deinit();
return 0; return 0;
} }
...@@ -128,6 +128,7 @@ static const constexpr in_port_t DHT_DEFAULT_PORT = 4222; ...@@ -128,6 +128,7 @@ static const constexpr in_port_t DHT_DEFAULT_PORT = 4222;
struct dht_params { struct dht_params {
bool help {false}; // print help and exit bool help {false}; // print help and exit
bool log {false};
in_port_t port {DHT_DEFAULT_PORT}; in_port_t port {DHT_DEFAULT_PORT};
bool is_bootstrap_node {false}; bool is_bootstrap_node {false};
bool generate_identity {false}; bool generate_identity {false};
...@@ -139,6 +140,7 @@ static const struct option long_options[] = { ...@@ -139,6 +140,7 @@ static const struct option long_options[] = {
{"port", required_argument, nullptr, 'p'}, {"port", required_argument, nullptr, 'p'},
{"bootstrap", optional_argument, nullptr, 'b'}, {"bootstrap", optional_argument, nullptr, 'b'},
{"identity", no_argument , nullptr, 'i'}, {"identity", no_argument , nullptr, 'i'},
{"verbose", no_argument , nullptr, 'v'},
{nullptr, 0, nullptr, 0} {nullptr, 0, nullptr, 0}
}; };
...@@ -146,7 +148,7 @@ dht_params ...@@ -146,7 +148,7 @@ dht_params
parseArgs(int argc, char **argv) { parseArgs(int argc, char **argv) {
dht_params params; dht_params params;
int opt; int opt;
while ((opt = getopt_long(argc, argv, ":hip:b:", long_options, nullptr)) != -1) { while ((opt = getopt_long(argc, argv, ":hivp:b:", long_options, nullptr)) != -1) {
switch (opt) { switch (opt) {
case 'p': { case 'p': {
int port_arg = atoi(optarg); int port_arg = atoi(optarg);
...@@ -168,6 +170,9 @@ parseArgs(int argc, char **argv) { ...@@ -168,6 +170,9 @@ parseArgs(int argc, char **argv) {
case 'h': case 'h':
params.help = true; params.help = true;
break; break;
case 'v':
params.log = true;
break;
case 'i': case 'i':
params.generate_identity = true; params.generate_identity = true;
break; break;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment