diff --git a/src/net.cpp b/src/net.cpp index c6448e47984..1062516aa11 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1030,9 +1030,9 @@ void CConnman::CreateNodeFromAcceptedSocket(std::unique_ptr&& sock, inbound_onion, CNodeOptions{ .permission_flags = permissionFlags, + .prefer_evict = discouraged, }); pnode->AddRef(); - pnode->m_prefer_evict = discouraged; m_msgproc->InitializeNode(*pnode, nodeServices); LogPrint(BCLog::NET, "connection from %s accepted\n", addr.ToString()); @@ -2734,6 +2734,7 @@ CNode::CNode(NodeId idIn, addrBind{addrBindIn}, m_addr_name{addrNameIn.empty() ? addr.ToStringIPPort() : addrNameIn}, m_inbound_onion{inbound_onion}, + m_prefer_evict{node_opts.prefer_evict}, nKeyedNetGroup{nKeyedNetGroupIn}, id{idIn}, nLocalHostNonce{nLocalHostNonceIn}, diff --git a/src/net.h b/src/net.h index 2cf334f8a91..c4a24c6bdfb 100644 --- a/src/net.h +++ b/src/net.h @@ -338,6 +338,7 @@ struct CNodeOptions { NetPermissionFlags permission_flags = NetPermissionFlags::None; std::unique_ptr i2p_sam_session = nullptr; + bool prefer_evict = false; }; /** Information about a peer */ @@ -399,7 +400,7 @@ public: * from the wire. This cleaned string can safely be logged or displayed. */ std::string cleanSubVer GUARDED_BY(m_subver_mutex){}; - bool m_prefer_evict{false}; // This peer is preferred for eviction. (treated as const) + const bool m_prefer_evict{false}; // This peer is preferred for eviction. bool HasPermission(NetPermissionFlags permission) const { return NetPermissions::HasFlag(m_permissionFlags, permission); }