If we start seeing acquire timeouts, don't start new acquires.

The link could be overloaded.
This commit is contained in:
JoelKatz
2013-02-20 13:30:57 -08:00
parent 25c52b1a4d
commit 52c378411d
3 changed files with 27 additions and 13 deletions

View File

@@ -920,15 +920,21 @@ void LedgerAcquireMaster::sweep()
}
}
int LedgerAcquireMaster::getFetchCount()
int LedgerAcquireMaster::getFetchCount(int& timeoutCount)
{
timeoutCount = 0;
int ret = 0;
{
typedef std::pair<uint256, LedgerAcquire::pointer> u256_acq_pair;
boost::mutex::scoped_lock sl(mLock);
BOOST_FOREACH(const u256_acq_pair& it, mLedgers)
{
if (it.second->isActive())
{
++ret;
timeoutCount += it.second->getTimeouts();
}
}
}
return ret;
}