aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPieter Wuille <pieter.wuille@gmail.com>2017-04-27 12:25:13 -0700
committerPieter Wuille <pieter.wuille@gmail.com>2017-04-27 14:39:27 -0700
commitb297426c9670fa83a12096f9db5666c15e1bb806 (patch)
tree8f2a561a4c7e7bab59750330c3af8288bcf161bd /src
parenta550f6e415fd8aec8c45d4704712a408c37ecd18 (diff)
Add -stopatheight for benchmarking
Diffstat (limited to 'src')
-rw-r--r--src/init.cpp2
-rw-r--r--src/validation.cpp3
-rw-r--r--src/validation.h3
3 files changed, 8 insertions, 0 deletions
diff --git a/src/init.cpp b/src/init.cpp
index f06c9e1100..64f571f284 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -436,6 +436,8 @@ std::string HelpMessage(HelpMessageMode mode)
strUsage += HelpMessageOpt("-dropmessagestest=<n>", "Randomly drop 1 of every <n> network messages");
strUsage += HelpMessageOpt("-fuzzmessagestest=<n>", "Randomly fuzz 1 of every <n> network messages");
strUsage += HelpMessageOpt("-stopafterblockimport", strprintf("Stop running after importing blocks from disk (default: %u)", DEFAULT_STOPAFTERBLOCKIMPORT));
+ strUsage += HelpMessageOpt("-stopatheight", strprintf("Stop running after reaching the given height in the main chain (default: %u)", DEFAULT_STOPATHEIGHT));
+
strUsage += HelpMessageOpt("-limitancestorcount=<n>", strprintf("Do not accept transactions if number of in-mempool ancestors is <n> or more (default: %u)", DEFAULT_ANCESTOR_LIMIT));
strUsage += HelpMessageOpt("-limitancestorsize=<n>", strprintf("Do not accept transactions whose size with all in-mempool ancestors exceeds <n> kilobytes (default: %u)", DEFAULT_ANCESTOR_SIZE_LIMIT));
strUsage += HelpMessageOpt("-limitdescendantcount=<n>", strprintf("Do not accept transactions if any ancestor would have <n> or more in-mempool descendants (default: %u)", DEFAULT_DESCENDANT_LIMIT));
diff --git a/src/validation.cpp b/src/validation.cpp
index 6c60be45a1..8613241d68 100644
--- a/src/validation.cpp
+++ b/src/validation.cpp
@@ -2537,6 +2537,9 @@ bool ActivateBestChain(CValidationState &state, const CChainParams& chainparams,
return false;
}
+ int nStopAtHeight = GetArg("-stopatheight", DEFAULT_STOPATHEIGHT);
+ if (nStopAtHeight && pindexNewTip->nHeight >= nStopAtHeight) StartShutdown();
+
return true;
}
diff --git a/src/validation.h b/src/validation.h
index c0f9b6d513..24ebf238df 100644
--- a/src/validation.h
+++ b/src/validation.h
@@ -145,6 +145,9 @@ static const int MAX_UNCONNECTING_HEADERS = 10;
static const bool DEFAULT_PEERBLOOMFILTERS = true;
+/** Default for -stopatheight */
+static const int DEFAULT_STOPATHEIGHT = 0;
+
struct BlockHasher
{
size_t operator()(const uint256& hash) const { return hash.GetCheapHash(); }