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