diff options
author | fanquake <fanquake@gmail.com> | 2020-12-28 13:36:48 +0800 |
---|---|---|
committer | fanquake <fanquake@gmail.com> | 2020-12-28 14:14:20 +0800 |
commit | 4a8f4ac4fc07c59a0bfdbb7c15a50cf5b4364312 (patch) | |
tree | 461af7255e52d859173344bcf6a5d2f55ea29560 | |
parent | 0e1b57b4bb637c5d1c34d4a27fa02f425eba0b98 (diff) | |
parent | faccf8b1e1af293dfe9158d732718e7798a2fd89 (diff) | |
download | bitcoin-4a8f4ac4fc07c59a0bfdbb7c15a50cf5b4364312.tar.xz |
Merge #20771: refactor: Enable -Wswitch for FeeEstimateHorizon
faccf8b1e1af293dfe9158d732718e7798a2fd89 refactor: Enable -Wswitch for FeeEstimateHorizon (MarcoFalke)
Pull request description:
This enables the `-Wswitch` compiler warning for `FeeEstimateHorizon` by removing the `default` case in `switch` statements.
ACKs for top commit:
practicalswift:
cr ACK faccf8b1e1af293dfe9158d732718e7798a2fd89
jonatack:
ACK faccf8b1e1af293dfe9158d732718e7798a2fd89
hebasto:
ACK faccf8b1e1af293dfe9158d732718e7798a2fd89, I have reviewed the code and it looks OK, I agree it can be merged.
Tree-SHA512: 63a8dff6e8dead149ec2fa8319e7ff41022c9534d423d3086fd8f22be073dc4915f74c7fe9139ee681a8204730cf58c80ef40c93fb33032d586e68b4f78f557d
-rw-r--r-- | src/policy/fees.cpp | 35 |
1 files changed, 14 insertions, 21 deletions
diff --git a/src/policy/fees.cpp b/src/policy/fees.cpp index cfa4cf8421..462f231eba 100644 --- a/src/policy/fees.cpp +++ b/src/policy/fees.cpp @@ -12,21 +12,18 @@ #include <txmempool.h> #include <util/system.h> -static const char* FEE_ESTIMATES_FILENAME="fee_estimates.dat"; +static const char* FEE_ESTIMATES_FILENAME = "fee_estimates.dat"; static constexpr double INF_FEERATE = 1e99; -std::string StringForFeeEstimateHorizon(FeeEstimateHorizon horizon) { - static const std::map<FeeEstimateHorizon, std::string> horizon_strings = { - {FeeEstimateHorizon::SHORT_HALFLIFE, "short"}, - {FeeEstimateHorizon::MED_HALFLIFE, "medium"}, - {FeeEstimateHorizon::LONG_HALFLIFE, "long"}, - }; - auto horizon_string = horizon_strings.find(horizon); - - if (horizon_string == horizon_strings.end()) return "unknown"; - - return horizon_string->second; +std::string StringForFeeEstimateHorizon(FeeEstimateHorizon horizon) +{ + switch (horizon) { + case FeeEstimateHorizon::SHORT_HALFLIFE: return "short"; + case FeeEstimateHorizon::MED_HALFLIFE: return "medium"; + case FeeEstimateHorizon::LONG_HALFLIFE: return "long"; + } // no default case, so the compiler can warn about missing cases + assert(false); } /** @@ -644,7 +641,7 @@ CFeeRate CBlockPolicyEstimator::estimateFee(int confTarget) const CFeeRate CBlockPolicyEstimator::estimateRawFee(int confTarget, double successThreshold, FeeEstimateHorizon horizon, EstimationResult* result) const { - TxConfirmStats* stats; + TxConfirmStats* stats = nullptr; double sufficientTxs = SUFFICIENT_FEETXS; switch (horizon) { case FeeEstimateHorizon::SHORT_HALFLIFE: { @@ -660,10 +657,8 @@ CFeeRate CBlockPolicyEstimator::estimateRawFee(int confTarget, double successThr stats = longStats.get(); break; } - default: { - throw std::out_of_range("CBlockPolicyEstimator::estimateRawFee unknown FeeEstimateHorizon"); - } - } + } // no default case, so the compiler can warn about missing cases + assert(stats); LOCK(m_cs_fee_estimator); // Return failure if trying to analyze a target we're not tracking @@ -693,10 +688,8 @@ unsigned int CBlockPolicyEstimator::HighestTargetTracked(FeeEstimateHorizon hori case FeeEstimateHorizon::LONG_HALFLIFE: { return longStats->GetMaxConfirms(); } - default: { - throw std::out_of_range("CBlockPolicyEstimator::HighestTargetTracked unknown FeeEstimateHorizon"); - } - } + } // no default case, so the compiler can warn about missing cases + assert(false); } unsigned int CBlockPolicyEstimator::BlockSpan() const |