aboutsummaryrefslogtreecommitdiff
path: root/src/node/peerman_args.cpp
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2023-07-25 10:24:27 +0100
committerfanquake <fanquake@gmail.com>2023-07-25 10:42:20 +0100
commitc97270d722569933f2e8972675ac3cca8589febc (patch)
treedab464da8c9a72dee63cab34646835985cfd2e53 /src/node/peerman_args.cpp
parentd23fda05842ba4539b225bbab01b94df0060f697 (diff)
parent23c7b51ddd2888cf7fb260c439f004bd28768473 (diff)
Merge bitcoin/bitcoin#27499: net processing, refactor: Decouple PeerManager from gArgs
23c7b51ddd2888cf7fb260c439f004bd28768473 [net processing] Move -capturemessages to PeerManager::Options (dergoegge) bd59bda26b67b53293a5cef7433e992203da325a [net processing] Move -blockreconstructionextratxn to PeerManager::Options (dergoegge) 567c4e0b6a3fadd2fd1be732076026bf491519b2 [net processing] Move -maxorphantx to PeerManager::Options (dergoegge) fa9e6d80d1c55f8b1bb2691bfd67e8c2b7189b38 [net processing] Move -txreconciliation to PeerManager::Options (dergoegge) 4cfb7b925f8fea818f03433882138a7d3d7e179a [net processing] Use ignore_incoming_txs from m_opts (dergoegge) 8b877259217c6da316153afb136a55c2dbd401c2 [net processing] Introduce PeerManager options (dergoegge) Pull request description: This PR decouples `PeerManager` from our global args manager by introducing `PeerManager::Options`. ACKs for top commit: stickies-v: re-ACK 23c7b51ddd2888cf7fb260c439f004bd28768473 TheCharlatan: ACK 23c7b51ddd2888cf7fb260c439f004bd28768473 Tree-SHA512: cd807b36ec018010e11935d3539fa7ed5015fdfb531d13a042a65b54ee8533a35a919a6a6c5fa293b5cba76000e9403c64dfd790fb9c649b7838544929b1fee8
Diffstat (limited to 'src/node/peerman_args.cpp')
-rw-r--r--src/node/peerman_args.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/node/peerman_args.cpp b/src/node/peerman_args.cpp
new file mode 100644
index 0000000000..e5868ead12
--- /dev/null
+++ b/src/node/peerman_args.cpp
@@ -0,0 +1,24 @@
+#include <node/peerman_args.h>
+
+#include <common/args.h>
+#include <net_processing.h>
+
+namespace node {
+
+void ApplyArgsManOptions(const ArgsManager& argsman, PeerManager::Options& options)
+{
+ if (auto value{argsman.GetBoolArg("-txreconciliation")}) options.reconcile_txs = *value;
+
+ if (auto value{argsman.GetIntArg("-maxorphantx")}) {
+ options.max_orphan_txs = uint32_t(std::max(int64_t{0}, *value));
+ }
+
+ if (auto value{argsman.GetIntArg("-blockreconstructionextratxn")}) {
+ options.max_extra_txs = size_t(std::max(int64_t{0}, *value));
+ }
+
+ if (auto value{argsman.GetBoolArg("-capturemessages")}) options.capture_messages = *value;
+}
+
+} // namespace node
+