Merge branch 'master' into develop

Conflicts:
	Builds/VisualStudio2012/RippleD.vcxproj
	modules/ripple_app/ripple_app.cpp
	modules/ripple_websocket/ripple_websocket.cpp
	src/cpp/ripple/NetworkOPs.cpp
	src/cpp/ripple/ripple_Application.cpp
	src/cpp/ripple/ripple_Peer.cpp
This commit is contained in:
JoelKatz
2013-07-07 15:28:18 -07:00
18 changed files with 135 additions and 44 deletions

View File

@@ -25,6 +25,7 @@ Ledger::ref LedgerMaster::getCurrentSnapshot ()
int LedgerMaster::getValidatedLedgerAge ()
{
boost::recursive_mutex::scoped_lock ml (mLock);
if (!mValidLedger)
{
WriteLog (lsDEBUG, LedgerMaster) << "No validated ledger";
@@ -39,6 +40,27 @@ int LedgerMaster::getValidatedLedgerAge ()
return static_cast<int> (ret);
}
bool LedgerMaster::isCaughtUp(std::string& reason)
{
if (getValidatedLedgerAge() > 180)
{
reason = "No recently-validated ledger";
return false;
}
boost::recursive_mutex::scoped_lock ml (mLock);
if (!mValidLedger || !mPubLedger)
{
reason = "No published ledger";
return false;
}
if (mValidLedger->getLedgerSeq() > (mPubLedger->getLedgerSeq() + 3))
{
reason = "Published ledger lags validated ledger";
return false;
}
return true;
}
void LedgerMaster::addHeldTransaction (Transaction::ref transaction)
{
// returns true if transaction was added