diff options
author | MarcoFalke <falke.marco@gmail.com> | 2020-03-05 13:46:53 -0500 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2020-03-05 13:50:10 -0500 |
commit | aaf09469fb2c0976292854be5c6de484667ecf91 (patch) | |
tree | 51c39c98a93f4c21dd3b500b209833d0fad802ff /src/rpc | |
parent | 96488e67847997548a532a82001b6cd58dfa1822 (diff) | |
parent | 1891245e7318bf625bbf67aab08a79fc3e87b61d (diff) |
Merge #18260: refactor: Fix implicit value conversion in formatPingTime
1891245e7318bf625bbf67aab08a79fc3e87b61d refactor: Cast ping values to double before output (Ben Woosley)
7a810b1d7a9d03818706dc94457dc3255f062796 refactor: Convert ping wait time from double to int64_t (Ben Woosley)
e6fc63ec7ee637a4b533e4d7b22def05e74e1dff refactor: Convert min ping time from double to int64_t (Ben Woosley)
b054c46977667953593819248c167545aa3e7a40 refactor: Convert ping time from double to int64_t (Ben Woosley)
Pull request description:
Alternative to #18252, see motivation there.
This changes `CNodeStats` to handle ping timestamps as their original incoming usec `int64_t` values until the time they need to be displayed.
ACKs for top commit:
vasild:
ACK 1891245
practicalswift:
ACK 1891245e7318bf625bbf67aab08a79fc3e87b61d -- patch looks correct
promag:
ACK 1891245e7318bf625bbf67aab08a79fc3e87b61d, added cast to double and also braces.
Tree-SHA512: 7cfcba941d9751b522b8c512c25da493338b444637bd0bb711b152d7d86b431ca0968956be3c844ee9dbfea25edab44a0de2afa44f2c9c0bf5b8df53eba66272
Diffstat (limited to 'src/rpc')
-rw-r--r-- | src/rpc/net.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/rpc/net.cpp b/src/rpc/net.cpp index 085921095e..eeb617f849 100644 --- a/src/rpc/net.cpp +++ b/src/rpc/net.cpp @@ -168,12 +168,15 @@ static UniValue getpeerinfo(const JSONRPCRequest& request) obj.pushKV("bytesrecv", stats.nRecvBytes); obj.pushKV("conntime", stats.nTimeConnected); obj.pushKV("timeoffset", stats.nTimeOffset); - if (stats.dPingTime > 0.0) - obj.pushKV("pingtime", stats.dPingTime); - if (stats.dMinPing < static_cast<double>(std::numeric_limits<int64_t>::max())/1e6) - obj.pushKV("minping", stats.dMinPing); - if (stats.dPingWait > 0.0) - obj.pushKV("pingwait", stats.dPingWait); + if (stats.m_ping_usec > 0) { + obj.pushKV("pingtime", ((double)stats.m_ping_usec) / 1e6); + } + if (stats.m_min_ping_usec < std::numeric_limits<int64_t>::max()) { + obj.pushKV("minping", ((double)stats.m_min_ping_usec) / 1e6); + } + if (stats.m_ping_wait_usec > 0) { + obj.pushKV("pingwait", ((double)stats.m_ping_wait_usec) / 1e6); + } obj.pushKV("version", stats.nVersion); // Use the sanitized form of subver here, to avoid tricksy remote peers from // corrupting or modifying the JSON output by putting special characters in |