diff options
author | fanquake <fanquake@gmail.com> | 2020-12-09 21:20:52 +0800 |
---|---|---|
committer | fanquake <fanquake@gmail.com> | 2020-12-09 21:56:17 +0800 |
commit | 795afe6e63a173a22597a59606e1c58d34cb3f1a (patch) | |
tree | c246a31e0447524fea6e389d8f19fe567089f07f /src/rpc | |
parent | a3586d592078aab09c56aa372d5adc7d897efb15 (diff) | |
parent | 3025ca9e7743d9b96c22e9c6ed7ef051dcea7e54 (diff) |
Merge #19910: net processing: Move peer_map to PeerManager
3025ca9e7743d9b96c22e9c6ed7ef051dcea7e54 [net processing] Add RemovePeer() (John Newbery)
a20ab22786466fe5164b53e62de9d23a4062fbca [net processing] Make GetPeerRef const (John Newbery)
ed7e469ceec6f7101a3fb7b15c21a6fb69697866 [net_processing] Move peer_map to PeerManager (John Newbery)
a529fd3e3f2391e592ac937e291fec51e067ea2e [net processing] Move GetNodeStateStats into PeerManager (John Newbery)
Pull request description:
This moves `g_peer_map` from a global in net_processing.cpp's unnamed namespace to being a member `m_peer_map` of `PeerManager`.
ACKs for top commit:
theuni:
Re-ACK 3025ca9e7743d9b96c22e9c6ed7ef051dcea7e54.
dongcarl:
Re-ACK 3025ca9
hebasto:
re-ACK 3025ca9e7743d9b96c22e9c6ed7ef051dcea7e54, since my [previous](https://github.com/bitcoin/bitcoin/pull/19910#pullrequestreview-545574237) review only reverted the change that introduced NRVO in `PeerManager::GetPeerRef`, and comments are fixed in the proper commits.
Tree-SHA512: 6369eb3c688ac5b84f89f7674115f78ff02edbed76063ac2ebb1759894c9e973883e10821a35dab92bd3d738280acc095bd5368f552a060b83cd309330387d47
Diffstat (limited to 'src/rpc')
-rw-r--r-- | src/rpc/net.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/rpc/net.cpp b/src/rpc/net.cpp index e72ef24d12..fa71ea1181 100644 --- a/src/rpc/net.cpp +++ b/src/rpc/net.cpp @@ -165,8 +165,9 @@ static RPCHelpMan getpeerinfo() [&](const RPCHelpMan& self, const JSONRPCRequest& request) -> UniValue { NodeContext& node = EnsureNodeContext(request.context); - if(!node.connman) + if(!node.connman || !node.peerman) { throw JSONRPCError(RPC_CLIENT_P2P_DISABLED, "Error: Peer-to-peer functionality missing or disabled"); + } std::vector<CNodeStats> vstats; node.connman->GetNodeStats(vstats); @@ -176,7 +177,7 @@ static RPCHelpMan getpeerinfo() for (const CNodeStats& stats : vstats) { UniValue obj(UniValue::VOBJ); CNodeStateStats statestats; - bool fStateStats = GetNodeStateStats(stats.nodeid, statestats); + bool fStateStats = node.peerman->GetNodeStateStats(stats.nodeid, statestats); obj.pushKV("id", stats.nodeid); obj.pushKV("addr", stats.addrName); if (stats.addrBind.IsValid()) { |