mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Reformatting using AStyle
This commit is contained in:
@@ -11,11 +11,11 @@
|
||||
class LedgerMaster
|
||||
{
|
||||
public:
|
||||
typedef FUNCTION_TYPE <void(Ledger::ref)> callback;
|
||||
typedef FUNCTION_TYPE <void (Ledger::ref)> callback;
|
||||
|
||||
public:
|
||||
LedgerMaster ()
|
||||
: mHeldTransactions (uint256())
|
||||
LedgerMaster ()
|
||||
: mHeldTransactions (uint256 ())
|
||||
, mMissingSeq (0)
|
||||
, mMinValidations (0)
|
||||
, mLastValidateSeq (0)
|
||||
@@ -23,153 +23,188 @@ public:
|
||||
, mPathFindThread (false)
|
||||
, mPathFindNewLedger (false)
|
||||
, mPathFindNewRequest (false)
|
||||
{
|
||||
{
|
||||
}
|
||||
|
||||
uint32 getCurrentLedgerIndex();
|
||||
uint32 getCurrentLedgerIndex ();
|
||||
|
||||
ScopedLock getLock() { return ScopedLock(mLock); }
|
||||
ScopedLock getLock ()
|
||||
{
|
||||
return ScopedLock (mLock);
|
||||
}
|
||||
|
||||
// The current ledger is the ledger we believe new transactions should go in
|
||||
Ledger::ref getCurrentLedger() { return mCurrentLedger; }
|
||||
// The current ledger is the ledger we believe new transactions should go in
|
||||
Ledger::ref getCurrentLedger ()
|
||||
{
|
||||
return mCurrentLedger;
|
||||
}
|
||||
|
||||
// An immutable snapshot of the current ledger
|
||||
Ledger::ref getCurrentSnapshot();
|
||||
// An immutable snapshot of the current ledger
|
||||
Ledger::ref getCurrentSnapshot ();
|
||||
|
||||
// The finalized ledger is the last closed/accepted ledger
|
||||
Ledger::ref getClosedLedger() { return mFinalizedLedger; }
|
||||
// The finalized ledger is the last closed/accepted ledger
|
||||
Ledger::ref getClosedLedger ()
|
||||
{
|
||||
return mFinalizedLedger;
|
||||
}
|
||||
|
||||
// The published ledger is the last fully validated ledger
|
||||
Ledger::ref getValidatedLedger() { return mPubLedger; }
|
||||
int getValidatedLedgerAge();
|
||||
// The published ledger is the last fully validated ledger
|
||||
Ledger::ref getValidatedLedger ()
|
||||
{
|
||||
return mPubLedger;
|
||||
}
|
||||
int getValidatedLedgerAge ();
|
||||
|
||||
TER doTransaction(SerializedTransaction::ref txn, TransactionEngineParams params, bool& didApply);
|
||||
TER doTransaction (SerializedTransaction::ref txn, TransactionEngineParams params, bool& didApply);
|
||||
|
||||
int getMinValidations() { return mMinValidations; }
|
||||
void setMinValidations(int v) { mMinValidations = v; }
|
||||
int getMinValidations ()
|
||||
{
|
||||
return mMinValidations;
|
||||
}
|
||||
void setMinValidations (int v)
|
||||
{
|
||||
mMinValidations = v;
|
||||
}
|
||||
|
||||
void pushLedger(Ledger::pointer newLedger);
|
||||
void pushLedger(Ledger::pointer newLCL, Ledger::pointer newOL, bool fromConsensus);
|
||||
void storeLedger(Ledger::pointer);
|
||||
void pushLedger (Ledger::pointer newLedger);
|
||||
void pushLedger (Ledger::pointer newLCL, Ledger::pointer newOL, bool fromConsensus);
|
||||
void storeLedger (Ledger::pointer);
|
||||
|
||||
void setFullLedger(Ledger::pointer ledger);
|
||||
void setFullLedger (Ledger::pointer ledger);
|
||||
|
||||
void switchLedgers(Ledger::pointer lastClosed, Ledger::pointer newCurrent);
|
||||
void switchLedgers (Ledger::pointer lastClosed, Ledger::pointer newCurrent);
|
||||
|
||||
std::string getCompleteLedgers()
|
||||
{
|
||||
boost::recursive_mutex::scoped_lock sl(mLock);
|
||||
return mCompleteLedgers.toString();
|
||||
}
|
||||
std::string getCompleteLedgers ()
|
||||
{
|
||||
boost::recursive_mutex::scoped_lock sl (mLock);
|
||||
return mCompleteLedgers.toString ();
|
||||
}
|
||||
|
||||
Ledger::pointer closeLedger(bool recoverHeldTransactions);
|
||||
Ledger::pointer closeLedger (bool recoverHeldTransactions);
|
||||
|
||||
uint256 getHashBySeq(uint32 index)
|
||||
{
|
||||
uint256 hash = mLedgerHistory.getLedgerHash(index);
|
||||
if (hash.isNonZero())
|
||||
return hash;
|
||||
return Ledger::getHashByIndex(index);
|
||||
}
|
||||
uint256 getHashBySeq (uint32 index)
|
||||
{
|
||||
uint256 hash = mLedgerHistory.getLedgerHash (index);
|
||||
|
||||
Ledger::pointer getLedgerBySeq(uint32 index)
|
||||
{
|
||||
if (mCurrentLedger && (mCurrentLedger->getLedgerSeq() == index))
|
||||
return mCurrentLedger;
|
||||
if (mFinalizedLedger && (mFinalizedLedger->getLedgerSeq() == index))
|
||||
return mFinalizedLedger;
|
||||
Ledger::pointer ret = mLedgerHistory.getLedgerBySeq(index);
|
||||
if (ret)
|
||||
return ret;
|
||||
if (hash.isNonZero ())
|
||||
return hash;
|
||||
|
||||
boost::recursive_mutex::scoped_lock ml(mLock);
|
||||
mCompleteLedgers.clearValue(index);
|
||||
return ret;
|
||||
}
|
||||
return Ledger::getHashByIndex (index);
|
||||
}
|
||||
|
||||
Ledger::pointer getLedgerByHash(uint256 const& hash)
|
||||
{
|
||||
if (hash.isZero())
|
||||
return boost::make_shared<Ledger>(boost::ref(*mCurrentLedger), false);
|
||||
Ledger::pointer getLedgerBySeq (uint32 index)
|
||||
{
|
||||
if (mCurrentLedger && (mCurrentLedger->getLedgerSeq () == index))
|
||||
return mCurrentLedger;
|
||||
|
||||
if (mCurrentLedger && (mCurrentLedger->getHash() == hash))
|
||||
return boost::make_shared<Ledger>(boost::ref(*mCurrentLedger), false);
|
||||
if (mFinalizedLedger && (mFinalizedLedger->getLedgerSeq () == index))
|
||||
return mFinalizedLedger;
|
||||
|
||||
if (mFinalizedLedger && (mFinalizedLedger->getHash() == hash))
|
||||
return mFinalizedLedger;
|
||||
Ledger::pointer ret = mLedgerHistory.getLedgerBySeq (index);
|
||||
|
||||
return mLedgerHistory.getLedgerByHash(hash);
|
||||
}
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
void setLedgerRangePresent(uint32 minV, uint32 maxV)
|
||||
{
|
||||
boost::recursive_mutex::scoped_lock sl(mLock);
|
||||
mCompleteLedgers.setRange(minV, maxV);
|
||||
}
|
||||
boost::recursive_mutex::scoped_lock ml (mLock);
|
||||
mCompleteLedgers.clearValue (index);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void addHeldTransaction(Transaction::ref trans);
|
||||
void fixMismatch(Ledger::ref ledger);
|
||||
Ledger::pointer getLedgerByHash (uint256 const& hash)
|
||||
{
|
||||
if (hash.isZero ())
|
||||
return boost::make_shared<Ledger> (boost::ref (*mCurrentLedger), false);
|
||||
|
||||
bool haveLedgerRange(uint32 from, uint32 to);
|
||||
bool haveLedger(uint32 seq);
|
||||
bool getValidatedRange(uint32& minVal, uint32& maxVal);
|
||||
if (mCurrentLedger && (mCurrentLedger->getHash () == hash))
|
||||
return boost::make_shared<Ledger> (boost::ref (*mCurrentLedger), false);
|
||||
|
||||
void resumeAcquiring();
|
||||
if (mFinalizedLedger && (mFinalizedLedger->getHash () == hash))
|
||||
return mFinalizedLedger;
|
||||
|
||||
void tune(int size, int age) { mLedgerHistory.tune(size, age); }
|
||||
void sweep() { mLedgerHistory.sweep(); }
|
||||
float getCacheHitRate() { return mLedgerHistory.getCacheHitRate(); }
|
||||
return mLedgerHistory.getLedgerByHash (hash);
|
||||
}
|
||||
|
||||
void addValidateCallback(callback& c) { mOnValidate.push_back(c); }
|
||||
void setLedgerRangePresent (uint32 minV, uint32 maxV)
|
||||
{
|
||||
boost::recursive_mutex::scoped_lock sl (mLock);
|
||||
mCompleteLedgers.setRange (minV, maxV);
|
||||
}
|
||||
|
||||
void checkAccept(uint256 const& hash);
|
||||
void checkAccept(uint256 const& hash, uint32 seq);
|
||||
void tryPublish();
|
||||
void newPathRequest();
|
||||
void addHeldTransaction (Transaction::ref trans);
|
||||
void fixMismatch (Ledger::ref ledger);
|
||||
|
||||
static bool shouldAcquire(uint32 currentLedgerID, uint32 ledgerHistory, uint32 targetLedger);
|
||||
bool haveLedgerRange (uint32 from, uint32 to);
|
||||
bool haveLedger (uint32 seq);
|
||||
bool getValidatedRange (uint32& minVal, uint32& maxVal);
|
||||
|
||||
void resumeAcquiring ();
|
||||
|
||||
void tune (int size, int age)
|
||||
{
|
||||
mLedgerHistory.tune (size, age);
|
||||
}
|
||||
void sweep ()
|
||||
{
|
||||
mLedgerHistory.sweep ();
|
||||
}
|
||||
float getCacheHitRate ()
|
||||
{
|
||||
return mLedgerHistory.getCacheHitRate ();
|
||||
}
|
||||
|
||||
void addValidateCallback (callback& c)
|
||||
{
|
||||
mOnValidate.push_back (c);
|
||||
}
|
||||
|
||||
void checkAccept (uint256 const& hash);
|
||||
void checkAccept (uint256 const& hash, uint32 seq);
|
||||
void tryPublish ();
|
||||
void newPathRequest ();
|
||||
|
||||
static bool shouldAcquire (uint32 currentLedgerID, uint32 ledgerHistory, uint32 targetLedger);
|
||||
|
||||
private:
|
||||
void applyFutureTransactions(uint32 ledgerIndex);
|
||||
bool isValidTransaction(Transaction::ref trans);
|
||||
bool isTransactionOnFutureList(Transaction::ref trans);
|
||||
void applyFutureTransactions (uint32 ledgerIndex);
|
||||
bool isValidTransaction (Transaction::ref trans);
|
||||
bool isTransactionOnFutureList (Transaction::ref trans);
|
||||
|
||||
bool acquireMissingLedger(Ledger::ref from, uint256 const& ledgerHash, uint32 ledgerSeq);
|
||||
void asyncAccept(Ledger::pointer);
|
||||
void missingAcquireComplete(LedgerAcquire::pointer);
|
||||
void pubThread();
|
||||
void updatePaths();
|
||||
bool acquireMissingLedger (Ledger::ref from, uint256 const& ledgerHash, uint32 ledgerSeq);
|
||||
void asyncAccept (Ledger::pointer);
|
||||
void missingAcquireComplete (LedgerAcquire::pointer);
|
||||
void pubThread ();
|
||||
void updatePaths ();
|
||||
|
||||
private:
|
||||
boost::recursive_mutex mLock;
|
||||
|
||||
TransactionEngine mEngine;
|
||||
TransactionEngine mEngine;
|
||||
|
||||
Ledger::pointer mCurrentLedger; // The ledger we are currently processiong
|
||||
Ledger::pointer mCurrentSnapshot; // Snapshot of the current ledger
|
||||
Ledger::pointer mFinalizedLedger; // 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 mCurrentLedger; // The ledger we are currently processiong
|
||||
Ledger::pointer mCurrentSnapshot; // Snapshot of the current ledger
|
||||
Ledger::pointer mFinalizedLedger; // 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
|
||||
|
||||
LedgerHistory mLedgerHistory;
|
||||
LedgerHistory mLedgerHistory;
|
||||
|
||||
CanonicalTXSet mHeldTransactions;
|
||||
CanonicalTXSet mHeldTransactions;
|
||||
|
||||
RangeSet mCompleteLedgers;
|
||||
LedgerAcquire::pointer mMissingLedger;
|
||||
uint32 mMissingSeq;
|
||||
RangeSet mCompleteLedgers;
|
||||
LedgerAcquire::pointer mMissingLedger;
|
||||
uint32 mMissingSeq;
|
||||
|
||||
int mMinValidations; // The minimum validations to publish a ledger
|
||||
uint256 mLastValidateHash;
|
||||
uint32 mLastValidateSeq;
|
||||
std::list<callback> mOnValidate; // Called when a ledger has enough validations
|
||||
int mMinValidations; // The minimum validations to publish a ledger
|
||||
uint256 mLastValidateHash;
|
||||
uint32 mLastValidateSeq;
|
||||
std::list<callback> mOnValidate; // Called when a ledger has enough validations
|
||||
|
||||
std::list<Ledger::pointer> mPubLedgers; // List of ledgers to publish
|
||||
bool mPubThread; // Publish thread is running
|
||||
std::list<Ledger::pointer> mPubLedgers; // List of ledgers to publish
|
||||
bool mPubThread; // Publish thread is running
|
||||
|
||||
bool mPathFindThread; // Pathfind thread is running
|
||||
bool mPathFindNewLedger;
|
||||
bool mPathFindNewRequest;
|
||||
bool mPathFindThread; // Pathfind thread is running
|
||||
bool mPathFindNewLedger;
|
||||
bool mPathFindNewRequest;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user