mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-08 10:31:50 -05:00
[net/refactor] Remove m_manual_connection flag from CNode
This commit is contained in:
parent
d3698b5ee3
commit
49efac5cae
3 changed files with 12 additions and 12 deletions
|
@ -539,7 +539,7 @@ void CNode::copyStats(CNodeStats &stats, const std::vector<bool> &m_asmap)
|
|||
X(cleanSubVer);
|
||||
}
|
||||
X(fInbound);
|
||||
X(m_manual_connection);
|
||||
stats.m_manual_connection = IsManualConn();
|
||||
X(nStartingHeight);
|
||||
{
|
||||
LOCK(cs_vSend);
|
||||
|
@ -1648,7 +1648,7 @@ void CConnman::ThreadDNSAddressSeed()
|
|||
{
|
||||
LOCK(cs_vNodes);
|
||||
for (const CNode* pnode : vNodes) {
|
||||
nRelevant += pnode->fSuccessfullyConnected && !pnode->fFeeler && !pnode->m_addr_fetch && !pnode->m_manual_connection && !pnode->fInbound;
|
||||
nRelevant += pnode->fSuccessfullyConnected && !pnode->fFeeler && !pnode->m_addr_fetch && !pnode->IsManualConn() && !pnode->fInbound;
|
||||
}
|
||||
}
|
||||
if (nRelevant >= 2) {
|
||||
|
@ -1758,7 +1758,7 @@ int CConnman::GetExtraOutboundCount()
|
|||
{
|
||||
LOCK(cs_vNodes);
|
||||
for (const CNode* pnode : vNodes) {
|
||||
if (!pnode->fInbound && !pnode->m_manual_connection && !pnode->fFeeler && !pnode->fDisconnect && !pnode->m_addr_fetch && pnode->fSuccessfullyConnected) {
|
||||
if (!pnode->fInbound && !pnode->IsManualConn() && !pnode->fFeeler && !pnode->fDisconnect && !pnode->m_addr_fetch && pnode->fSuccessfullyConnected) {
|
||||
++nOutbound;
|
||||
}
|
||||
}
|
||||
|
@ -1832,7 +1832,7 @@ void CConnman::ThreadOpenConnections(const std::vector<std::string> connect)
|
|||
{
|
||||
LOCK(cs_vNodes);
|
||||
for (const CNode* pnode : vNodes) {
|
||||
if (!pnode->fInbound && !pnode->m_manual_connection) {
|
||||
if (!pnode->fInbound && (pnode->m_conn_type != ConnectionType::MANUAL)) {
|
||||
// Netgroups for inbound and addnode peers are not excluded because our goal here
|
||||
// is to not use multiple of our limited outbound slots on a single netgroup
|
||||
// but inbound and addnode peers do not use our outbound slots. Inbound peers
|
||||
|
@ -2741,7 +2741,6 @@ CNode::CNode(NodeId idIn, ServiceFlags nLocalServicesIn, int nMyStartingHeightIn
|
|||
addrBind(addrBindIn),
|
||||
fFeeler(conn_type_in == ConnectionType::FEELER),
|
||||
m_addr_fetch(conn_type_in == ConnectionType::ADDR_FETCH),
|
||||
m_manual_connection(conn_type_in == ConnectionType::MANUAL),
|
||||
fInbound(conn_type_in == ConnectionType::INBOUND),
|
||||
nKeyedNetGroup(nKeyedNetGroupIn),
|
||||
// Don't relay addr messages to peers that we connect to as block-relay-only
|
||||
|
|
|
@ -777,7 +777,6 @@ public:
|
|||
bool m_legacyWhitelisted{false};
|
||||
bool fFeeler{false}; // If true this node is being used as a short lived feeler.
|
||||
bool m_addr_fetch{false};
|
||||
bool m_manual_connection{false};
|
||||
bool fClient{false}; // set by version message
|
||||
bool m_limited_node{false}; //after BIP159, set by version message
|
||||
const bool fInbound;
|
||||
|
@ -793,6 +792,10 @@ public:
|
|||
std::atomic_bool fPauseRecv{false};
|
||||
std::atomic_bool fPauseSend{false};
|
||||
|
||||
bool IsManualConn() const {
|
||||
return m_conn_type == ConnectionType::MANUAL;
|
||||
}
|
||||
|
||||
protected:
|
||||
mapMsgCmdSize mapSendBytesPerMsgCmd;
|
||||
mapMsgCmdSize mapRecvBytesPerMsgCmd GUARDED_BY(cs_vRecv);
|
||||
|
|
|
@ -827,11 +827,9 @@ void UpdateLastBlockAnnounceTime(NodeId node, int64_t time_in_seconds)
|
|||
if (state) state->m_last_block_announcement = time_in_seconds;
|
||||
}
|
||||
|
||||
// Returns true for outbound peers, excluding manual connections, feelers, and
|
||||
// one-shots.
|
||||
static bool IsOutboundDisconnectionCandidate(const CNode& node)
|
||||
{
|
||||
return !(node.fInbound || node.m_manual_connection || node.fFeeler || node.m_addr_fetch);
|
||||
return !(node.fInbound || node.IsManualConn() || node.fFeeler || node.m_addr_fetch);
|
||||
}
|
||||
|
||||
void PeerLogicValidation::InitializeNode(CNode *pnode) {
|
||||
|
@ -840,7 +838,7 @@ void PeerLogicValidation::InitializeNode(CNode *pnode) {
|
|||
NodeId nodeid = pnode->GetId();
|
||||
{
|
||||
LOCK(cs_main);
|
||||
mapNodeState.emplace_hint(mapNodeState.end(), std::piecewise_construct, std::forward_as_tuple(nodeid), std::forward_as_tuple(addr, std::move(addrName), pnode->fInbound, pnode->m_manual_connection));
|
||||
mapNodeState.emplace_hint(mapNodeState.end(), std::piecewise_construct, std::forward_as_tuple(nodeid), std::forward_as_tuple(addr, std::move(addrName), pnode->fInbound, pnode->IsManualConn()));
|
||||
}
|
||||
if(!pnode->fInbound)
|
||||
PushNodeVersion(*pnode, *connman, GetTime());
|
||||
|
@ -2326,7 +2324,7 @@ void ProcessMessage(
|
|||
{
|
||||
connman.SetServices(pfrom.addr, nServices);
|
||||
}
|
||||
if (!pfrom.fInbound && !pfrom.fFeeler && !pfrom.m_manual_connection && !HasAllDesirableServiceFlags(nServices))
|
||||
if (!pfrom.fInbound && !pfrom.fFeeler && !pfrom.IsManualConn() && !HasAllDesirableServiceFlags(nServices))
|
||||
{
|
||||
LogPrint(BCLog::NET, "peer=%d does not offer the expected services (%08x offered, %08x expected); disconnecting\n", pfrom.GetId(), nServices, GetDesirableServiceFlags(nServices));
|
||||
pfrom.fDisconnect = true;
|
||||
|
@ -3736,7 +3734,7 @@ bool PeerLogicValidation::MaybeDiscourageAndDisconnect(CNode& pnode)
|
|||
return false;
|
||||
}
|
||||
|
||||
if (pnode.m_manual_connection) {
|
||||
if (pnode.IsManualConn()) {
|
||||
// We never disconnect or discourage manual peers for bad behavior
|
||||
LogPrintf("Warning: not punishing manually connected peer %d!\n", peer_id);
|
||||
return false;
|
||||
|
|
Loading…
Add table
Reference in a new issue