peerman_args.cpp
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