peerman_args.cpp raw
1 // Copyright (c) 2023-present The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or https://opensource.org/license/mit.
4
5 #include <node/peerman_args.h>
6
7 #include <common/args.h>
8 #include <net_processing.h>
9
10 #include <algorithm>
11 #include <limits>
12
13 namespace node {
14
15 void ApplyArgsManOptions(const ArgsManager& argsman, PeerManager::Options& options)
16 {
17 if (auto value{argsman.GetBoolArg("-txreconciliation")}) options.reconcile_txs = *value;
18
19 if (auto value{argsman.GetIntArg("-blockreconstructionextratxn")}) {
20 options.max_extra_txs = uint32_t((std::clamp<int64_t>(*value, 0, std::numeric_limits<uint32_t>::max())));
21 }
22
23 if (auto value{argsman.GetBoolArg("-capturemessages")}) options.capture_messages = *value;
24
25 if (auto value{argsman.GetBoolArg("-blocksonly")}) options.ignore_incoming_txs = *value;
26
27 if (auto value{argsman.GetBoolArg("-privatebroadcast")}) options.private_broadcast = *value;
28 }
29
30 } // namespace node
31
32