mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Add get first/last/next SLE functions.
This commit is contained in:
@@ -156,6 +156,9 @@ public:
|
||||
static Ledger::pointer loadByHash(const uint256& ledgerHash);
|
||||
|
||||
// next/prev function
|
||||
SLE::pointer getSLE(const uint256& uHash);
|
||||
SLE::pointer getFirstSLE();
|
||||
SLE::pointer getLastSLE();
|
||||
SLE::pointer getNextSLE(const uint256& uHash); // first node >hash
|
||||
SLE::pointer getNextSLE(const uint256& uHash, const uint256& uEnd); // first node >hash, <end
|
||||
SLE::pointer getPrevSLE(const uint256& uHash); // last node <hash
|
||||
|
||||
@@ -46,6 +46,30 @@ LedgerStateParms Ledger::writeBack(LedgerStateParms parms, SLE::pointer entry)
|
||||
return lepOKAY;
|
||||
}
|
||||
|
||||
SLE::pointer Ledger::getSLE(const uint256& uHash)
|
||||
{
|
||||
SHAMapItem::pointer node = mAccountStateMap->peekItem();
|
||||
if (!node)
|
||||
return SLE::pointer();
|
||||
return boost::make_shared<SLE>(node->peekSerializer(), node->getTag());
|
||||
}
|
||||
|
||||
SLE::pointer Ledger::getFirstSLE()
|
||||
{
|
||||
SHAMapItem::pointer node = mAccountStateMap->peekFirstItem();
|
||||
if (!node)
|
||||
return SLE::pointer();
|
||||
return boost::make_shared<SLE>(node->peekSerializer(), node->getTag());
|
||||
}
|
||||
|
||||
SLE::pointer Ledger::getLastSLE()
|
||||
{
|
||||
SHAMapItem::pointer node = mAccountStateMap->peekLastItem();
|
||||
if (!node)
|
||||
return SLE::pointer();
|
||||
return boost::make_shared<SLE>(node->peekSerializer(), node->getTag());
|
||||
}
|
||||
|
||||
SLE::pointer Ledger::getNextSLE(const uint256& uHash)
|
||||
{
|
||||
SHAMapItem::pointer node = mAccountStateMap->peekNextItem(uHash);
|
||||
|
||||
Reference in New Issue
Block a user