mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-30 16:05:51 +00:00
NetworkOPs function to test if we have in our database a specified range of ledger numbers.
This commit is contained in:
@@ -117,6 +117,12 @@ TER LedgerMaster::doTransaction(const SerializedTransaction& txn, TransactionEng
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool LedgerMaster::haveLedgerRange(uint32 from, uint32 to)
|
||||||
|
{
|
||||||
|
uint32 prevMissing = mCompleteLedgers.prevMissing(to + 1);
|
||||||
|
return (prevMissing == RangeSet::RangeSetAbsent) || (prevMissing < from);
|
||||||
|
}
|
||||||
|
|
||||||
void LedgerMaster::acquireMissingLedger(const uint256& ledgerHash, uint32 ledgerSeq)
|
void LedgerMaster::acquireMissingLedger(const uint256& ledgerHash, uint32 ledgerSeq)
|
||||||
{
|
{
|
||||||
mMissingLedger = theApp->getMasterLedgerAcquire().findCreate(ledgerHash);
|
mMissingLedger = theApp->getMasterLedgerAcquire().findCreate(ledgerHash);
|
||||||
|
|||||||
@@ -93,6 +93,8 @@ public:
|
|||||||
|
|
||||||
void addHeldTransaction(const Transaction::pointer& trans);
|
void addHeldTransaction(const Transaction::pointer& trans);
|
||||||
|
|
||||||
|
bool haveLedgerRange(uint32 from, uint32 to);
|
||||||
|
|
||||||
void sweep(void) { mLedgerHistory.sweep(); }
|
void sweep(void) { mLedgerHistory.sweep(); }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -81,6 +81,11 @@ uint32 NetworkOPs::getCurrentLedgerID()
|
|||||||
return mLedgerMaster->getCurrentLedger()->getLedgerSeq();
|
return mLedgerMaster->getCurrentLedger()->getLedgerSeq();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool NetworkOPs::haveLedgerRange(uint32 from, uint32 to)
|
||||||
|
{
|
||||||
|
return mLedgerMaster->haveLedgerRange(from, to);
|
||||||
|
}
|
||||||
|
|
||||||
void NetworkOPs::submitTransaction(Job&, SerializedTransaction::pointer iTrans, stCallback callback)
|
void NetworkOPs::submitTransaction(Job&, SerializedTransaction::pointer iTrans, stCallback callback)
|
||||||
{ // this is an asynchronous interface
|
{ // this is an asynchronous interface
|
||||||
Serializer s;
|
Serializer s;
|
||||||
|
|||||||
@@ -134,6 +134,9 @@ public:
|
|||||||
|
|
||||||
uint256 getClosedLedgerHash() { return mLedgerMaster->getClosedLedger()->getHash(); }
|
uint256 getClosedLedgerHash() { return mLedgerMaster->getClosedLedger()->getHash(); }
|
||||||
|
|
||||||
|
// Do we have this inclusive range of ledgers in our database
|
||||||
|
bool haveLedgerRange(uint32 from, uint32 to);
|
||||||
|
|
||||||
SerializedValidation::ref getLastValidation() { return mLastValidation; }
|
SerializedValidation::ref getLastValidation() { return mLastValidation; }
|
||||||
void setLastValidation(SerializedValidation::ref v) { mLastValidation = v; }
|
void setLastValidation(SerializedValidation::ref v) { mLastValidation = v; }
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user