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

f44abe4bed25a40145ab168adc1589f5df4146f3 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 f44abe4bed25a40145ab168adc1589f5df4146f3
  practicalswift:
    ACK f44abe4bed25a40145ab168adc1589f5df4146f3

Tree-SHA512: 33a1be20e5c629daf4a61ebbf93ea6494b9256887cebd4974de4782f6d324404b6cc84909533d9502b2cc19902083f1f9307d4fb7231e67db5b412b842d13072
This commit is contained in:
Wladimir J. van der Laan 2019-11-04 13:18:19 +01:00 committed by pasta
parent b023e9687b
commit fb1a6c5261
7 changed files with 23 additions and 6 deletions

View File

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

View File

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

View File

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

View File

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

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/clientmodel.h>
#include <interfaces/node.h>
#include <net_types.h> // For banmap_t
#include <qt/clientmodel.h>
#include <algorithm>

View File

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