Set a validated ledger in --load mode.

This commit is contained in:
JoelKatz
2013-07-18 21:13:52 -07:00
parent 123430951c
commit 9d50bd8d27
3 changed files with 10 additions and 0 deletions

View File

@@ -157,6 +157,14 @@ void LedgerMaster::storeLedger (Ledger::pointer ledger)
mLedgerHistory.addAcceptedLedger (ledger, false);
}
void LedgerMaster::forceValid (Ledger::pointer ledger)
{
if (!mValidLedger || (mPubLedger->getLedgerSeq() < ledger->getLedgerSeq()))
mValidLedger = ledger;
if (!mPubLedger || (mPubLedger->getLedgerSeq() < 2))
mPubLedger = ledger;
}
Ledger::pointer LedgerMaster::closeLedger (bool recover)
{
boost::recursive_mutex::scoped_lock sl (mLock);

View File

@@ -88,6 +88,7 @@ public:
void pushLedger (Ledger::pointer newLedger);
void pushLedger (Ledger::pointer newLCL, Ledger::pointer newOL, bool fromConsensus);
void storeLedger (Ledger::pointer);
void forceValid (Ledger::pointer);
void setFullLedger (Ledger::pointer ledger);

View File

@@ -796,6 +796,7 @@ bool ApplicationImp::loadOldLedger (const std::string& l, bool bReplay)
Ledger::pointer openLedger = boost::make_shared<Ledger> (false, boost::ref (*loadLedger));
mLedgerMaster.switchLedgers (loadLedger, openLedger);
mLedgerMaster.forceValid(loadLedger);
mNetOps.setLastCloseTime (loadLedger->getCloseTimeNC ());
if (bReplay)