/ src / node / peerman_args.cpp
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  
28  } // namespace node
29