aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@protonmail.com>2019-11-04 13:18:19 +0100
committerWladimir J. van der Laan <laanwj@protonmail.com>2019-11-04 13:18:27 +0100
commitc4b8dd20600f72e20c513a33e2df6928c06facfc (patch)
treeb8cf3393b39e957158ee65e25dcf5d6711f0ce55
parent463eab5e1418a592036e7bf9bf46f66fe6462435 (diff)
parentf44abe4bed25a40145ab168adc1589f5df4146f3 (diff)
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
-rw-r--r--src/Makefile.am1
-rw-r--r--src/addrdb.h3
-rw-r--r--src/banman.h1
-rw-r--r--src/interfaces/node.h2
-rw-r--r--src/net_types.h15
-rw-r--r--src/qt/bantablemodel.cpp4
-rw-r--r--src/rpc/net.cpp3
7 files changed, 23 insertions, 6 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 619f968bc9..507e5cbb9f 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -152,6 +152,7 @@ BITCOIN_CORE_H = \
net.h \
net_permissions.h \
net_processing.h \
+ net_types.h \
netaddress.h \
netbase.h \
netmessagemaker.h \
diff --git a/src/addrdb.h b/src/addrdb.h
index 290b63dd12..ad85224d1f 100644
--- a/src/addrdb.h
+++ b/src/addrdb.h
@@ -7,6 +7,7 @@
#define BITCOIN_ADDRDB_H
#include <fs.h>
+#include <net_types.h> // For banmap_t
#include <serialize.h>
#include <string>
@@ -79,8 +80,6 @@ public:
}
};
-typedef std::map<CSubNet, CBanEntry> banmap_t;
-
/** Access to the (IP) address database (peers.dat) */
class CAddrDB
{
diff --git a/src/banman.h b/src/banman.h
index 9d45bf0559..7943f666e8 100644
--- a/src/banman.h
+++ b/src/banman.h
@@ -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")
diff --git a/src/interfaces/node.h b/src/interfaces/node.h
index c29037f2e3..adf3de7b07 100644
--- a/src/interfaces/node.h
+++ b/src/interfaces/node.h
@@ -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 <support/allocators/secure.h> // For SecureString
diff --git a/src/net_types.h b/src/net_types.h
new file mode 100644
index 0000000000..d55a8cde6c
--- /dev/null
+++ b/src/net_types.h
@@ -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
diff --git a/src/qt/bantablemodel.cpp b/src/qt/bantablemodel.cpp
index ae11b80347..48201b420e 100644
--- a/src/qt/bantablemodel.cpp
+++ b/src/qt/bantablemodel.cpp
@@ -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>
diff --git a/src/rpc/net.cpp b/src/rpc/net.cpp
index f443f37c6d..f1dcc9b607 100644
--- a/src/rpc/net.cpp
+++ b/src/rpc/net.cpp
@@ -8,8 +8,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 <node/context.h>
#include <policy/settings.h>