mirror of
https://github.com/bitcoin/bitcoin.git
synced 2024-11-20 02:25:40 +01:00
Merge bitcoin/bitcoin#29212: Fix -netinfo backward compat with getpeerinfo pre-v26
5fa74609b8
Fix -netinfo backward compat with getpeerinfo pre-v26 (Jon Atack) Pull request description: Commitfb5bfed26a
in #29058 will cause `-netinfo` to break when calling it on a node that is running pre-v26 bitcoind, as `getpeerinfo` doesn't yet return a "transport_protocol_type" field. Fix this by adding an `IsNull()` check, as already done for other recent getpeerinfo fields, and also in the same commit: a) avoid checking for the full string "detecting", and instead do the cheaper check for the most frequent case of the string starting with "v" b) drop displaying the "v" prefix in all the rows, as it doesn't add useful information, and instead use "v" for the column header c) display nothing when a value isn't determined yet, like for the -netinfo mping and ping columns (as `*` already has a separate meaning in this dashboard, and `?` might look like there is a bug) ACKs for top commit: mzumsande: Code Review ACK5fa74609b8
achow101: ACK5fa74609b8
kristapsk: ACK5fa74609b8
Tree-SHA512: 4afc513dc669b95037180008eb4c57fc0a0d742c02f24b236562d6b8daad5c120eb1ce0d90e51696e0f9b8361a72fc930c0b64f04902cf96fb48c8e042e58624
This commit is contained in:
commit
4baa162dbb
@ -518,7 +518,7 @@ public:
|
||||
const std::string addr{peer["addr"].get_str()};
|
||||
const std::string age{conn_time == 0 ? "" : ToString((time_now - conn_time) / 60)};
|
||||
const std::string sub_version{peer["subver"].get_str()};
|
||||
const std::string transport{peer["transport_protocol_type"].get_str()};
|
||||
const std::string transport{peer["transport_protocol_type"].isNull() ? "v1" : peer["transport_protocol_type"].get_str()};
|
||||
const bool is_addr_relay_enabled{peer["addr_relay_enabled"].isNull() ? false : peer["addr_relay_enabled"].get_bool()};
|
||||
const bool is_bip152_hb_from{peer["bip152_hb_from"].get_bool()};
|
||||
const bool is_bip152_hb_to{peer["bip152_hb_to"].get_bool()};
|
||||
@ -538,7 +538,7 @@ public:
|
||||
// Report detailed peer connections list sorted by direction and minimum ping time.
|
||||
if (DetailsRequested() && !m_peers.empty()) {
|
||||
std::sort(m_peers.begin(), m_peers.end());
|
||||
result += strprintf("<-> type net tp mping ping send recv txn blk hb %*s%*s%*s ",
|
||||
result += strprintf("<-> type net v mping ping send recv txn blk hb %*s%*s%*s ",
|
||||
m_max_addr_processed_length, "addrp",
|
||||
m_max_addr_rate_limited_length, "addrl",
|
||||
m_max_age_length, "age");
|
||||
@ -551,7 +551,7 @@ public:
|
||||
peer.is_outbound ? "out" : "in",
|
||||
ConnectionTypeForNetinfo(peer.conn_type),
|
||||
peer.network,
|
||||
peer.transport_protocol_type == "detecting" ? "*" : peer.transport_protocol_type,
|
||||
peer.transport_protocol_type.starts_with('v') ? peer.transport_protocol_type[1] : ' ',
|
||||
PingTimeToString(peer.min_ping),
|
||||
PingTimeToString(peer.ping),
|
||||
peer.last_send ? ToString(time_now - peer.last_send) : "",
|
||||
@ -661,7 +661,7 @@ public:
|
||||
" \"feeler\" - short-lived connection for testing addresses\n"
|
||||
" \"addr\" - address fetch; short-lived connection for requesting addresses\n"
|
||||
" net Network the peer connected through (\"ipv4\", \"ipv6\", \"onion\", \"i2p\", \"cjdns\", or \"npr\" (not publicly routable))\n"
|
||||
" tp Transport protocol used for the connection (\"v1\", \"v2\" or \"*\" if detecting)\n"
|
||||
" v Version of transport protocol used for the connection\n"
|
||||
" mping Minimum observed ping time, in milliseconds (ms)\n"
|
||||
" ping Last observed ping time, in milliseconds (ms)\n"
|
||||
" send Time since last message sent to the peer, in seconds\n"
|
||||
|
Loading…
Reference in New Issue
Block a user