diff --git a/src/Config.cpp b/src/Config.cpp index fad11cf7f..99aff080a 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -16,6 +16,8 @@ #define SECTION_VALIDATION_KEY "validation_key" #define SECTION_PEER_SSL_CIPHER_LIST "peer_ssl_cipher_list" #define SECTION_PEER_SCAN_INTERVAL_MIN "peer_scan_interval_min" +#define SECTION_PEER_START_MAX "peer_start_max" +#define SECTION_PEER_CONNECT_LOW_WATER "peer_connect_low_water" Config theConfig; @@ -40,6 +42,9 @@ Config::Config() PEER_SSL_CIPHER_LIST = DEFAULT_PEER_SSL_CIPHER_LIST; PEER_SCAN_INTERVAL_MIN = DEFAULT_PEER_SCAN_INTERVAL_MIN; + PEER_START_MAX = DEFAULT_PEER_START_MAX; + PEER_CONNECT_LOW_WATER = DEFAULT_PEER_CONNECT_LOW_WATER; + TRANSACTION_FEE_BASE = 1000; } @@ -83,6 +88,10 @@ void Config::load() (void) sectionSingleB(secConfig, SECTION_PEER_SSL_CIPHER_LIST, PEER_SSL_CIPHER_LIST); (void) sectionSingleB(secConfig, SECTION_PEER_SCAN_INTERVAL_MIN, strTemp); PEER_SCAN_INTERVAL_MIN=MAX(60, boost::lexical_cast(strTemp)); + (void) sectionSingleB(secConfig, SECTION_PEER_START_MAX, strTemp); + PEER_START_MAX=MIN(1, boost::lexical_cast(strTemp)); + (void) sectionSingleB(secConfig, SECTION_PEER_CONNECT_LOW_WATER, strTemp); + PEER_CONNECT_LOW_WATER=MAX(1, boost::lexical_cast(strTemp)); } } diff --git a/src/Config.h b/src/Config.h index 40e4da145..d01121ee9 100644 --- a/src/Config.h +++ b/src/Config.h @@ -15,6 +15,12 @@ const int SYSTEM_PEER_PORT=6561; // 1 hour. #define DEFAULT_PEER_SCAN_INTERVAL_MIN (60*60) +// Maximum number of peers to try to connect to as client at once. +#define DEFAULT_PEER_START_MAX 5 + +// Might connect with fewer for testing. +#define DEFAULT_PEER_CONNECT_LOW_WATER 4 + class Config { public: @@ -52,6 +58,8 @@ public: std::string PEER_SSL_CIPHER_LIST; int PEER_SCAN_INTERVAL_MIN; + int PEER_START_MAX; + int PEER_CONNECT_LOW_WATER; // configuration parameters std::string DATA_DIR;