Allow the "quorum" command line option to lock the quorum

This commit is contained in:
JoelKatz
2015-09-21 12:03:58 -07:00
committed by Vinnie Falco
parent 938b2fed7c
commit 3c52fdfabe
5 changed files with 12 additions and 5 deletions

View File

@@ -105,6 +105,7 @@ public:
std::unique_ptr <LedgerCleaner> mLedgerCleaner;
int mMinValidations; // The minimum validations to publish a ledger.
bool mStrictValCount; // Don't raise the minimum
uint256 mLastValidateHash;
std::uint32_t mLastValidateSeq;
@@ -153,6 +154,7 @@ public:
, mLedgerCleaner (make_LedgerCleaner (
app, *this, app_.journal("LedgerCleaner")))
, mMinValidations (0)
, mStrictValCount (false)
, mLastValidateSeq (0)
, mAdvanceThread (false)
, mAdvanceWork (false)
@@ -744,7 +746,7 @@ public:
if (seq > mLastValidLedger.second)
mLastValidLedger = std::make_pair (hash, seq);
if (mMinValidations < (valCount/2 + 1))
if (!mStrictValCount && (mMinValidations < (valCount/2 + 1)))
{
mMinValidations = (valCount/2 + 1);
JLOG (m_journal.info)
@@ -1355,10 +1357,12 @@ public:
return mMinValidations;
}
void setMinValidations (int v) override
void setMinValidations (int v, bool strict) override
{
JLOG (m_journal.info) << "Validation quorum: " << v;
JLOG (m_journal.info) << "Validation quorum: " << v
<< (strict ? " strict" : "");
mMinValidations = v;
mStrictValCount = strict;
}
std::string getCompleteLedgers () override