Bitcoin ABC 0.30.5
P2P Digital Currency
options.h
Go to the documentation of this file.
1// Copyright (c) 2022 The Bitcoin developers
2// Distributed under the MIT software license, see the accompanying
3// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5#ifndef BITCOIN_SEEDER_OPTIONS_H
6#define BITCOIN_SEEDER_OPTIONS_H
7
8#include <chrono>
9#include <set>
10#include <string>
11
12class ArgsManager;
13
14namespace seeder {
15
16static const int CONTINUE_EXECUTION = -1;
17
18static const int DEFAULT_DUMP_INTERVAL_SECONDS = 60 * 60;
19static const int DEFAULT_NUM_THREADS = 96;
20static const int DEFAULT_PORT = 53;
21static const int DEFAULT_NUM_DNS_THREADS = 4;
22static const bool DEFAULT_WIPE_BAN = false;
23static const bool DEFAULT_WIPE_IGNORE = false;
24static const std::string DEFAULT_EMAIL = "";
25static const std::string DEFAULT_NAMESERVER = "";
26static const std::string DEFAULT_HOST = "";
27static const std::string DEFAULT_TOR_PROXY = "";
28static const std::string DEFAULT_LISTEN_ADDRESS = "::";
29static const std::string DEFAULT_IPV4_PROXY = "";
30static const std::string DEFAULT_IPV6_PROXY = "";
31
33public:
35 std::chrono::seconds dumpInterval;
37 int nPort;
41 std::string mbox;
42 std::string ns;
43 std::string host;
44 std::string tor;
45 std::string ip_addr;
46 std::string ipv4_proxy;
47 std::string ipv6_proxy;
48 std::set<uint64_t> filter_whitelist;
49
51 : argsManager(argsMan),
59
60 int ParseCommandLine(int argc, const char **argv);
61
62 void SetupSeederArgs();
63};
64
65} // namespace seeder
66
67#endif // BITCOIN_SEEDER_OPTIONS_H
std::string ip_addr
Definition: options.h:45
std::chrono::seconds dumpInterval
Definition: options.h:35
std::string tor
Definition: options.h:44
std::string ipv4_proxy
Definition: options.h:46
std::string ns
Definition: options.h:42
int ParseCommandLine(int argc, const char **argv)
Definition: options.cpp:15
std::string host
Definition: options.h:43
std::string mbox
Definition: options.h:41
std::set< uint64_t > filter_whitelist
Definition: options.h:48
ArgsManager * argsManager
Definition: options.h:34
CDnsSeedOpts(ArgsManager *argsMan)
Definition: options.h:50
std::string ipv6_proxy
Definition: options.h:47
static const bool DEFAULT_WIPE_BAN
Definition: options.h:22
static const int CONTINUE_EXECUTION
Definition: options.h:16
static const std::string DEFAULT_IPV4_PROXY
Definition: options.h:29
static const int DEFAULT_NUM_DNS_THREADS
Definition: options.h:21
static const std::string DEFAULT_IPV6_PROXY
Definition: options.h:30
static const int DEFAULT_DUMP_INTERVAL_SECONDS
Definition: options.h:18
static const std::string DEFAULT_HOST
Definition: options.h:26
static const std::string DEFAULT_LISTEN_ADDRESS
Definition: options.h:28
static const bool DEFAULT_WIPE_IGNORE
Definition: options.h:23
static const int DEFAULT_NUM_THREADS
Definition: options.h:19
static const std::string DEFAULT_EMAIL
Definition: options.h:24
static const std::string DEFAULT_TOR_PROXY
Definition: options.h:27
static const int DEFAULT_PORT
Definition: options.h:20
static const std::string DEFAULT_NAMESERVER
Definition: options.h:25
Implement std::hash so RCUPtr can be used as a key for maps or sets.
Definition: rcu.h:259