Browse Source

Report minimum ping time in getpeerinfo

0.13
Matt Corallo 9 years ago
parent
commit
a6eb4ba38b
  1. 1
      src/net.cpp
  2. 1
      src/net.h
  3. 2
      src/rpcnet.cpp

1
src/net.cpp

@ -628,6 +628,7 @@ void CNode::copyStats(CNodeStats &stats) @@ -628,6 +628,7 @@ void CNode::copyStats(CNodeStats &stats)
// Raw ping time is in microseconds, but show it to user as whole seconds (Bitcoin users should be well used to small numbers with many decimal places by now :)
stats.dPingTime = (((double)nPingUsecTime) / 1e6);
stats.dPingMin = (((double)nMinPingUsecTime) / 1e6);
stats.dPingWait = (((double)nPingUsecWait) / 1e6);
// Leave string empty if addrLocal invalid (not filled in yet)

1
src/net.h

@ -189,6 +189,7 @@ public: @@ -189,6 +189,7 @@ public:
bool fWhitelisted;
double dPingTime;
double dPingWait;
double dPingMin;
std::string addrLocal;
};

2
src/rpcnet.cpp

@ -96,6 +96,7 @@ UniValue getpeerinfo(const UniValue& params, bool fHelp) @@ -96,6 +96,7 @@ UniValue getpeerinfo(const UniValue& params, bool fHelp)
" \"conntime\": ttt, (numeric) The connection time in seconds since epoch (Jan 1 1970 GMT)\n"
" \"timeoffset\": ttt, (numeric) The time offset in seconds\n"
" \"pingtime\": n, (numeric) ping time\n"
" \"minping\": n, (numeric) minimum observed ping time\n"
" \"pingwait\": n, (numeric) ping wait\n"
" \"version\": v, (numeric) The peer version, such as 7001\n"
" \"subver\": \"/Satoshi:0.8.5/\", (string) The string version\n"
@ -139,6 +140,7 @@ UniValue getpeerinfo(const UniValue& params, bool fHelp) @@ -139,6 +140,7 @@ UniValue getpeerinfo(const UniValue& params, bool fHelp)
obj.push_back(Pair("conntime", stats.nTimeConnected));
obj.push_back(Pair("timeoffset", stats.nTimeOffset));
obj.push_back(Pair("pingtime", stats.dPingTime));
obj.push_back(Pair("minping", stats.dPingMin));
if (stats.dPingWait > 0.0)
obj.push_back(Pair("pingwait", stats.dPingWait));
obj.push_back(Pair("version", stats.nVersion));

Loading…
Cancel
Save