mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Merge branch 'develop' into new-master
This commit is contained in:
@@ -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;
|
||||
@@ -138,6 +155,8 @@ void LedgerMaster::storeLedger (Ledger::pointer ledger)
|
||||
|
||||
if (ledger->isAccepted ())
|
||||
mLedgerHistory.addAcceptedLedger (ledger, false);
|
||||
|
||||
checkAccept (ledger->getHash(), ledger->getLedgerSeq());
|
||||
}
|
||||
|
||||
Ledger::pointer LedgerMaster::closeLedger (bool recover)
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -1509,6 +1509,12 @@ Json::Value NetworkOPs::getServerInfo (bool human, bool admin)
|
||||
info["validated_ledger"] = l;
|
||||
else
|
||||
info["closed_ledger"] = l;
|
||||
|
||||
Ledger::pointer lpPublished = getPublishedLedger ();
|
||||
if (!lpPublished)
|
||||
info["published_ledger"] = "none";
|
||||
else if (lpPublished->getLedgerSeq() != lpClosed->getLedgerSeq())
|
||||
info["published_ledger"] = lpPublished->getLedgerSeq();
|
||||
}
|
||||
|
||||
return info;
|
||||
@@ -2375,7 +2381,7 @@ void NetworkOPs::doClusterReport ()
|
||||
node.set_reporttime(it->second.getReportTime());
|
||||
node.set_nodeload(it->second.getLoadFee());
|
||||
if (!it->second.getName().empty())
|
||||
node.set_nodename(it->second.getName());
|
||||
node.set_nodename(it->second.getName());
|
||||
}
|
||||
|
||||
PackedMessage::pointer message = boost::make_shared<PackedMessage>(cluster, protocol::mtCLUSTER);
|
||||
|
||||
@@ -80,6 +80,10 @@ public:
|
||||
{
|
||||
return mLedgerMaster->getValidatedLedger ();
|
||||
}
|
||||
Ledger::ref getPublishedLedger ()
|
||||
{
|
||||
return mLedgerMaster->getPublishedLedger ();
|
||||
}
|
||||
Ledger::ref getCurrentLedger ()
|
||||
{
|
||||
return mLedgerMaster->getCurrentLedger ();
|
||||
|
||||
Reference in New Issue
Block a user