mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-03 17:35:51 +00:00
Fix pathfinding aggressiveness logic.
This commit is contained in:
@@ -680,7 +680,6 @@ void LedgerMaster::advanceThread()
|
||||
|
||||
getApp().getOPs().clearNeedNetworkLedger();
|
||||
|
||||
mPathFindNewLedger = true;
|
||||
if (!mPathFindThread)
|
||||
{
|
||||
mPathFindThread = true;
|
||||
@@ -832,26 +831,28 @@ void LedgerMaster::updatePaths ()
|
||||
|
||||
do
|
||||
{
|
||||
bool newOnly = false;
|
||||
bool newOnly = true;
|
||||
|
||||
{
|
||||
boost::recursive_mutex::scoped_lock ml (mLock);
|
||||
|
||||
if (mPathFindNewLedger || (lastLedger && (lastLedger.get () != mPubLedger.get ())))
|
||||
lastLedger = mPubLedger;
|
||||
if (!mPathLedger || (mPathLedger->getLedgerSeq() < mValidLedger->getLedgerSeq()))
|
||||
{ // We have a new valid ledger since the last full pathfinding
|
||||
newOnly = false;
|
||||
mPathLedger = mValidLedger;
|
||||
lastLedger = mPathLedger;
|
||||
}
|
||||
else if (mPathFindNewRequest)
|
||||
{
|
||||
{ // We have a new request but no new ledger
|
||||
newOnly = true;
|
||||
lastLedger = boost::make_shared<Ledger> (boost::ref (*mCurrentLedger), false);
|
||||
}
|
||||
else
|
||||
{
|
||||
{ // Nothing to do
|
||||
mPathFindThread = false;
|
||||
return;
|
||||
}
|
||||
|
||||
lastLedger = mPubLedger;
|
||||
mPathFindNewLedger = false;
|
||||
mPathFindNewRequest = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -27,7 +27,6 @@ public:
|
||||
, mAdvanceThread (false)
|
||||
, mFillInProgress (false)
|
||||
, mPathFindThread (false)
|
||||
, mPathFindNewLedger (false)
|
||||
, mPathFindNewRequest (false)
|
||||
{
|
||||
}
|
||||
@@ -203,9 +202,10 @@ private:
|
||||
|
||||
Ledger::pointer mCurrentLedger; // The ledger we are currently processiong
|
||||
Ledger::pointer mCurrentSnapshot; // Snapshot of the current ledger
|
||||
Ledger::pointer mClosedLedger; // The ledger that most recently closed
|
||||
Ledger::pointer mClosedLedger; // The ledger that most recently closed
|
||||
Ledger::pointer mValidLedger; // The highest-sequence ledger we have fully accepted
|
||||
Ledger::pointer mPubLedger; // The last ledger we have published
|
||||
Ledger::pointer mPathLedger; // The last ledger we did pathfinding against
|
||||
|
||||
LedgerHistory mLedgerHistory;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user