mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-02 17:09:57 +02:00
Merge bitcoin/bitcoin#29212: Fix -netinfo backward compat with getpeerinfo pre-v26
5fa74609b833643334dfb5519f2023119984267b Fix -netinfo backward compat with getpeerinfo pre-v26 (Jon Atack) Pull request description: Commit fb5bfed26a564014b83ccfc96ff00b630930fc61 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 ACK 5fa74609b833643334dfb5519f2023119984267b achow101: ACK 5fa74609b833643334dfb5519f2023119984267b kristapsk: ACK 5fa74609b833643334dfb5519f2023119984267b 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…
x
Reference in New Issue
Block a user