Clean up some confusion about the last validated ledger versus the last published ledger.

This commit is contained in:
JoelKatz
2013-07-13 19:32:20 -07:00
parent 2addaacfbb
commit 0fd5f98c9c
2 changed files with 27 additions and 2 deletions

View File

@@ -23,6 +23,23 @@ Ledger::ref LedgerMaster::getCurrentSnapshot ()
return mCurrentSnapshot;
}
int LedgerMaster::getPublishedLedgerAge ()
{
boost::recursive_mutex::scoped_lock ml (mLock);
if (!mPubLedger)
{
WriteLog (lsDEBUG, LedgerMaster) << "No published ledger";
return 999999;
}
int64 ret = getApp().getOPs ().getCloseTimeNC ();
ret -= static_cast<int64> (mPubLedger->getCloseTimeNC ());
ret = std::max (0LL, ret);
WriteLog (lsTRACE, LedgerMaster) << "Published ledger age is " << ret;
return static_cast<int> (ret);
}
int LedgerMaster::getValidatedLedgerAge ()
{
boost::recursive_mutex::scoped_lock ml (mLock);
@@ -42,7 +59,7 @@ int LedgerMaster::getValidatedLedgerAge ()
bool LedgerMaster::isCaughtUp(std::string& reason)
{
if (getValidatedLedgerAge() > 180)
if (getPublishedLedgerAge() > 180)
{
reason = "No recently-validated ledger";
return false;

View File

@@ -58,11 +58,19 @@ public:
return mFinalizedLedger;
}
// The published ledger is the last fully validated ledger
// The validated ledger is the last fully validated ledger
Ledger::ref getValidatedLedger ()
{
return mValidLedger;
}
// This is the last ledger we published to clients and can lag the validated ledger
Ledger::ref getPublishedLedger ()
{
return mPubLedger;
}
int getPublishedLedgerAge ();
int getValidatedLedgerAge ();
bool isCaughtUp(std::string& reason);