22 #ifndef NDN_CXX_IMS_IN_MEMORY_STORAGE_LRU_HPP 
   23 #define NDN_CXX_IMS_IN_MEMORY_STORAGE_LRU_HPP 
   27 #include <boost/multi_index_container.hpp> 
   28 #include <boost/multi_index/hashed_index.hpp> 
   29 #include <boost/multi_index/identity.hpp> 
   30 #include <boost/multi_index/member.hpp> 
   31 #include <boost/multi_index/sequenced_index.hpp> 
   76   typedef boost::multi_index_container<
 
   78     boost::multi_index::indexed_by<
 
   81       boost::multi_index::hashed_unique<
 
   82         boost::multi_index::tag<byEntity>,
 
   83         boost::multi_index::identity<InMemoryStorageEntry*>
 
   87       boost::multi_index::sequenced<
 
   88         boost::multi_index::tag<byUsedTime>
 
   94   CleanupIndex m_cleanupIndex;
 
Represents an in-memory storage entry.
 
Provides in-memory storage employing Least Recently Used (LRU) replacement policy.
 
void beforeErase(InMemoryStorageEntry *entry) override
Update the entry or other data structures before a entry is successfully erased, erase it from the cl...
 
InMemoryStorageLru(size_t limit=16)
 
void afterAccess(InMemoryStorageEntry *entry) override
Update the entry when the entry is returned by the find() function, update the last used time accordi...
 
bool evictItem() override
Removes one Data packet from in-memory storage based on LRU, i.e.
 
void afterInsert(InMemoryStorageEntry *entry) override
Update the entry after a entry is successfully inserted, add it to the cleanupIndex.
 
Represents in-memory storage.
 
#define NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PROTECTED