From b30f7a622c53b42cbfeeef83dd235a9c04aadb17 Mon Sep 17 00:00:00 2001 From: Nik Bougalis Date: Tue, 22 Oct 2013 10:54:21 -0700 Subject: [PATCH] Set PEERS_MAX default value --- src/ripple/peerfinder/api/Config.h | 5 +++++ src/ripple/peerfinder/impl/Config.cpp | 8 +++++++- src/ripple/peerfinder/impl/Logic.h | 6 ++++++ src/ripple/peerfinder/impl/Tuning.h | 4 ++++ src/ripple_core/functional/Config.cpp | 4 ++-- src/ripple_core/functional/Config.h | 3 --- 6 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/ripple/peerfinder/api/Config.h b/src/ripple/peerfinder/api/Config.h index 547ce4d2b..732d2385e 100644 --- a/src/ripple/peerfinder/api/Config.h +++ b/src/ripple/peerfinder/api/Config.h @@ -43,6 +43,11 @@ struct Config /** Write the configuration into a property stream */ void onWrite(PropertyStream::Map& map); + + /** Called to set sensible default values for anything + that hasn't been initialized. + */ + void fillInDefaultValues(); }; } diff --git a/src/ripple/peerfinder/impl/Config.cpp b/src/ripple/peerfinder/impl/Config.cpp index 9d1d5719b..aa693d8de 100644 --- a/src/ripple/peerfinder/impl/Config.cpp +++ b/src/ripple/peerfinder/impl/Config.cpp @@ -21,7 +21,7 @@ namespace ripple { namespace PeerFinder { Config::Config () - : maxPeerCount (20) + : maxPeerCount (0) , wantIncoming (false) , connectAutomatically (false) , listeningPort (0) @@ -39,5 +39,11 @@ void Config::onWrite(PropertyStream::Map &map) map ["feature_list"] = featureList; } +void Config::fillInDefaultValues() +{ + if (maxPeerCount == 0) + maxPeerCount = defaultMaxPeerCount; +} + } } diff --git a/src/ripple/peerfinder/impl/Logic.h b/src/ripple/peerfinder/impl/Logic.h index 46923f905..d35665e02 100644 --- a/src/ripple/peerfinder/impl/Logic.h +++ b/src/ripple/peerfinder/impl/Logic.h @@ -119,6 +119,8 @@ public: , m_cache (journal) , m_legacyCache (store, journal) { + /* assign sensible default values */ + m_config.fillInDefaultValues(); } DiscreteTime get_now() @@ -243,6 +245,10 @@ public: void setConfig (Config const& config) { m_config = config; + + /* give sensible defaults to any uninitialized fields */ + m_config.fillInDefaultValues(); + m_slots.update (m_config); } diff --git a/src/ripple/peerfinder/impl/Tuning.h b/src/ripple/peerfinder/impl/Tuning.h index ba01ccbba..373a829c2 100644 --- a/src/ripple/peerfinder/impl/Tuning.h +++ b/src/ripple/peerfinder/impl/Tuning.h @@ -59,6 +59,10 @@ enum // away than this are dropped. ,maxPeerHopCount = 10 + // The number of peers that we want by default, unless an + // explicit value is set in the config file. + ,defaultMaxPeerCount = 20 + //--------------------------------------------------------- // // LegacyEndpoint Settings diff --git a/src/ripple_core/functional/Config.cpp b/src/ripple_core/functional/Config.cpp index 6c7bc04ff..7a4d73f40 100644 --- a/src/ripple_core/functional/Config.cpp +++ b/src/ripple_core/functional/Config.cpp @@ -78,7 +78,7 @@ Config::Config () PEER_CONNECT_LOW_WATER = DEFAULT_PEER_CONNECT_LOW_WATER; PEER_PRIVATE = false; - PEERS_MAX = DEFAULT_PEERS_MAX; + PEERS_MAX = 0; // indicates "use default" TRANSACTION_FEE_BASE = DEFAULT_FEE_DEFAULT; @@ -314,7 +314,7 @@ void Config::load () PEER_PRIVATE = lexicalCastThrow (strTemp); if (SectionSingleB (secConfig, SECTION_PEERS_MAX, strTemp)) - PEERS_MAX = std::max (1, lexicalCastThrow (strTemp)); + PEERS_MAX = lexicalCastThrow (strTemp); smtTmp = SectionEntries (secConfig, SECTION_RPC_ADMIN_ALLOW); diff --git a/src/ripple_core/functional/Config.h b/src/ripple_core/functional/Config.h index 2917e4186..e500cf809 100644 --- a/src/ripple_core/functional/Config.h +++ b/src/ripple_core/functional/Config.h @@ -53,9 +53,6 @@ const int SYSTEM_WEBSOCKET_PUBLIC_PORT = 6563; // XXX Going away. // Might connect with fewer for testing. #define DEFAULT_PEER_CONNECT_LOW_WATER 10 -// The maximum number of peers to allow. -#define DEFAULT_PEERS_MAX 100 - #define DEFAULT_PATH_SEARCH_OLD 7 #define DEFAULT_PATH_SEARCH 7 #define DEFAULT_PATH_SEARCH_FAST 2