diff options
| author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2013-11-21 15:11:22 -0500 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2013-11-21 15:11:22 -0500 |
| commit | 4296db235894f8d403fc656f76e2a3578ca2d597 (patch) | |
| tree | 68701e7134ff051c5d5dbf7ca4df9b149186a275 /node | |
| parent | 31d718c4a49ddebea2fdb6c64c438295f1284a6f (diff) | |
| download | infinitytier-4296db235894f8d403fc656f76e2a3578ca2d597.tar.gz infinitytier-4296db235894f8d403fc656f76e2a3578ca2d597.zip | |
Add configuration age to listnetworks results and GUI.
Diffstat (limited to 'node')
| -rw-r--r-- | node/NodeConfig.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/node/NodeConfig.cpp b/node/NodeConfig.cpp index d56c73ae..ce5943c5 100644 --- a/node/NodeConfig.cpp +++ b/node/NodeConfig.cpp @@ -200,7 +200,7 @@ std::vector<std::string> NodeConfig::execute(const char *command) _r->topology->eachPeer(_DumpPeerStatistics(r)); } else if (cmd[0] == "listnetworks") { Mutex::Lock _l(_networks_m); - _P("200 listnetworks <nwid> <name> <status> <type> <dev> <ips>"); + _P("200 listnetworks <nwid> <name> <status> <config age> <type> <dev> <ips>"); for(std::map< uint64_t,SharedPtr<Network> >::const_iterator nw(_networks.begin());nw!=_networks.end();++nw) { std::string tmp; std::set<InetAddress> ips(nw->second->tap().ips()); @@ -211,10 +211,17 @@ std::vector<std::string> NodeConfig::execute(const char *command) } SharedPtr<NetworkConfig> nconf(nw->second->config2()); - _P("200 listnetworks %.16llx %s %s %s %s %s", + + long long age = (nconf) ? ((long long)Utils::now() - (long long)nconf->timestamp()) : (long long)0; + if (age < 0) + age = 0; + age /= 1000; + + _P("200 listnetworks %.16llx %s %s %lld %s %s %s", (unsigned long long)nw->first, ((nconf) ? nconf->name().c_str() : "?"), Network::statusString(nw->second->status()), + age, ((nconf) ? (nconf->isOpen() ? "public" : "private") : "?"), nw->second->tap().deviceName().c_str(), ((tmp.length() > 0) ? tmp.c_str() : "-")); |
