Merge pull request #2929 from Krellan/addrlocal

Additional field to RPC getpeerinfo output: addrlocal
This commit is contained in:
Wladimir J. van der Laan 2013-10-21 04:13:11 -07:00
commit 0c1222ff84
3 changed files with 6 additions and 0 deletions

View file

@ -639,6 +639,9 @@ 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.dPingWait = (((double)nPingUsecWait) / 1e6);
// Leave string empty if addrLocal invalid (not filled in yet)
stats.addrLocal = addrLocal.IsValid() ? addrLocal.ToString() : "";
}
#undef X

View file

@ -121,6 +121,7 @@ public:
bool fSyncNode;
double dPingTime;
double dPingWait;
std::string addrLocal;
};

View file

@ -66,6 +66,8 @@ Value getpeerinfo(const Array& params, bool fHelp)
Object obj;
obj.push_back(Pair("addr", stats.addrName));
if (!(stats.addrLocal.empty()))
obj.push_back(Pair("addrlocal", stats.addrLocal));
obj.push_back(Pair("services", strprintf("%08"PRI64x, stats.nServices)));
obj.push_back(Pair("lastsend", (boost::int64_t)stats.nLastSend));
obj.push_back(Pair("lastrecv", (boost::int64_t)stats.nLastRecv));