From bdd5d4af9f0acaf92533177b3276c88bc15542ef Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Sun, 27 Jan 2013 13:55:06 -0800 Subject: [PATCH] Add 'dropCache' function to remove extraneous nodes from memory. --- src/cpp/ripple/Ledger.h | 7 +++++++ src/cpp/ripple/SHAMap.cpp | 9 +++++++++ src/cpp/ripple/SHAMap.h | 3 +++ 3 files changed, 19 insertions(+) diff --git a/src/cpp/ripple/Ledger.h b/src/cpp/ripple/Ledger.h index f63cb0a70b..7b11adc26d 100644 --- a/src/cpp/ripple/Ledger.h +++ b/src/cpp/ripple/Ledger.h @@ -153,6 +153,13 @@ public: // low level functions SHAMap::ref peekTransactionMap() { return mTransactionMap; } SHAMap::ref peekAccountStateMap() { return mAccountStateMap; } + void dropCache() + { + if (mTransactionMap) + mTransactionMap->dropCache(); + if (mAccountStateMap) + mAccountStateMap->dropCache(); + } // ledger sync functions void setAcquiring(void); diff --git a/src/cpp/ripple/SHAMap.cpp b/src/cpp/ripple/SHAMap.cpp index 15355ed1d5..524232a9a5 100644 --- a/src/cpp/ripple/SHAMap.cpp +++ b/src/cpp/ripple/SHAMap.cpp @@ -851,6 +851,15 @@ bool SHAMap::getPath(const uint256& index, std::vector< std::vector