Merge #17297: refactor: Remove addrdb.h dependency from node.h

f44abe4bed refactor: Remove addrdb.h dependency from node.h (Hennadii Stepanov)

Pull request description:

  `node.h` includes `addrdb.h` just for the sake of `banmap_t` type.
  This PR makes dependencies simpler and explicit.

  ~Also needless `typedef` has been removed from `enum BanReason`.~

ACKs for top commit:
  laanwj:
    ACK f44abe4bed
  practicalswift:
    ACK f44abe4bed

Tree-SHA512: 33a1be20e5c629daf4a61ebbf93ea6494b9256887cebd4974de4782f6d324404b6cc84909533d9502b2cc19902083f1f9307d4fb7231e67db5b412b842d13072
This commit is contained in:
Wladimir J. van der Laan 2019-11-04 13:18:19 +01:00
commit c4b8dd2060
No known key found for this signature in database
GPG key ID: 1E4AED62986CD25D
7 changed files with 23 additions and 6 deletions

View file

@ -152,6 +152,7 @@ BITCOIN_CORE_H = \
net.h \ net.h \
net_permissions.h \ net_permissions.h \
net_processing.h \ net_processing.h \
net_types.h \
netaddress.h \ netaddress.h \
netbase.h \ netbase.h \
netmessagemaker.h \ netmessagemaker.h \

View file

@ -7,6 +7,7 @@
#define BITCOIN_ADDRDB_H #define BITCOIN_ADDRDB_H
#include <fs.h> #include <fs.h>
#include <net_types.h> // For banmap_t
#include <serialize.h> #include <serialize.h>
#include <string> #include <string>
@ -79,8 +80,6 @@ public:
} }
}; };
typedef std::map<CSubNet, CBanEntry> banmap_t;
/** Access to the (IP) address database (peers.dat) */ /** Access to the (IP) address database (peers.dat) */
class CAddrDB class CAddrDB
{ {

View file

@ -10,6 +10,7 @@
#include <addrdb.h> #include <addrdb.h>
#include <fs.h> #include <fs.h>
#include <net_types.h> // For banmap_t
#include <sync.h> #include <sync.h>
// NOTE: When adjusting this, update rpcnet:setban's help ("24h") // NOTE: When adjusting this, update rpcnet:setban's help ("24h")

View file

@ -5,9 +5,9 @@
#ifndef BITCOIN_INTERFACES_NODE_H #ifndef BITCOIN_INTERFACES_NODE_H
#define BITCOIN_INTERFACES_NODE_H #define BITCOIN_INTERFACES_NODE_H
#include <addrdb.h> // For banmap_t
#include <amount.h> // For CAmount #include <amount.h> // For CAmount
#include <net.h> // For CConnman::NumConnections #include <net.h> // For CConnman::NumConnections
#include <net_types.h> // For banmap_t
#include <netaddress.h> // For Network #include <netaddress.h> // For Network
#include <support/allocators/secure.h> // For SecureString #include <support/allocators/secure.h> // For SecureString

15
src/net_types.h Normal file
View file

@ -0,0 +1,15 @@
// Copyright (c) 2019 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef BITCOIN_NET_TYPES_H
#define BITCOIN_NET_TYPES_H
#include <map>
class CBanEntry;
class CSubNet;
using banmap_t = std::map<CSubNet, CBanEntry>;
#endif // BITCOIN_NET_TYPES_H

View file

@ -4,9 +4,9 @@
#include <qt/bantablemodel.h> #include <qt/bantablemodel.h>
#include <qt/clientmodel.h>
#include <interfaces/node.h> #include <interfaces/node.h>
#include <net_types.h> // For banmap_t
#include <qt/clientmodel.h>
#include <algorithm> #include <algorithm>

View file

@ -8,8 +8,9 @@
#include <clientversion.h> #include <clientversion.h>
#include <core_io.h> #include <core_io.h>
#include <net.h> #include <net.h>
#include <net_processing.h>
#include <net_permissions.h> #include <net_permissions.h>
#include <net_processing.h>
#include <net_types.h> // For banmap_t
#include <netbase.h> #include <netbase.h>
#include <node/context.h> #include <node/context.h>
#include <policy/settings.h> #include <policy/settings.h>