Provides application cache with persistent storage, of which no replacement policy will be employed. More...
#include <in-memory-storage-persistent.hpp>
Public Member Functions | |
InMemoryStoragePersistent () | |
InMemoryStoragePersistent (boost::asio::io_service &ioService) | |
Public Member Functions inherited from ndn::util::InMemoryStorage | |
InMemoryStorage (size_t limit=std::numeric_limits< size_t >::max()) | |
Create a InMemoryStorage with up to limit entries The InMemoryStorage created through this method will ignore MustBeFresh in interest processing. More... | |
InMemoryStorage (boost::asio::io_service &ioService, size_t limit=std::numeric_limits< size_t >::max()) | |
Create a InMemoryStorage with up to limit entries The InMemoryStorage created through this method will handle MustBeFresh in interest processing. More... | |
virtual | ~InMemoryStorage () |
void | insert (const Data &data, const time::milliseconds &mustBeFreshProcessingWindow=INFINITE_WINDOW) |
Inserts a Data packet. More... | |
shared_ptr< const Data > | find (const Interest &interest) |
Finds the best match Data for an Interest. More... | |
shared_ptr< const Data > | find (const Name &name) |
Finds the best match Data for a Name with or without the implicit digest. More... | |
void | erase (const Name &prefix, const bool isPrefix=true) |
Deletes in-memory storage entry by prefix by default. More... | |
size_t | getLimit () const |
size_t | size () const |
InMemoryStorage::const_iterator | begin () const |
Returns begin iterator of the in-memory storage ordering by name with digest. More... | |
InMemoryStorage::const_iterator | end () const |
Returns end iterator of the in-memory storage ordering by name with digest. More... | |
virtual void | afterInsert (InMemoryStorageEntry *entry) |
Update the entry or other data structures after a entry is successfully inserted according to derived class implemented replacement policy. More... | |
virtual void | beforeErase (InMemoryStorageEntry *entry) |
Update the entry or other data structures before a entry is successfully erased according to derived class implemented replacement policy. More... | |
virtual bool | evictItem ()=0 |
Removes one Data packet from in-memory storage based on derived class implemented replacement policy. More... | |
size_t | getCapacity () const |
returns current capacity of in-memory storage (in packets) More... | |
bool | isFull () const |
returns true if the in-memory storage uses up the current capacity, false otherwise More... | |
void | eraseImpl (const Name &name) |
deletes in-memory storage entries by the Name with implicit digest. More... | |
void | printCache (std::ostream &os) const |
Prints contents of the in-memory storage. More... | |
InMemoryStorageEntry * | selectChild (const Interest &interest, Cache::index< byFullName >::type::iterator startingPoint) const |
Implements child selector (leftmost, rightmost, undeclared). More... | |
Cache::index< byFullName >::type::iterator | findNextFresh (Cache::index< byFullName >::type::iterator startingPoint) const |
Get the next iterator (include startingPoint) that satisfies MustBeFresh requirement. More... | |
Public Attributes | |
NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PROTECTED | __pad0__: virtual bool evictItem() override |
Public Attributes inherited from ndn::util::InMemoryStorage | |
NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PROTECTED | __pad0__: virtual void afterAccess(InMemoryStorageEntry* entry) |
NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PROTECTED | __pad1__: void setCapacity(size_t nMaxPackets) |
NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PRIVATE | __pad2__: Cache::iterator freeEntry(Cache::iterator it) |
Additional Inherited Members | |
Public Types inherited from ndn::util::InMemoryStorage | |
typedef boost::multi_index_container< InMemoryStorageEntry *, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag< byFullName >, boost::multi_index::const_mem_fun< InMemoryStorageEntry, const Name &, &InMemoryStorageEntry::getFullName >, std::less< Name > > > > | Cache |
Static Public Attributes inherited from ndn::util::InMemoryStorage | |
static const time::milliseconds | INFINITE_WINDOW |
Provides application cache with persistent storage, of which no replacement policy will be employed.
Entries will only be deleted by explicitly application control.
Definition at line 33 of file in-memory-storage-persistent.hpp.
ndn::util::InMemoryStoragePersistent::InMemoryStoragePersistent | ( | ) |
Definition at line 27 of file in-memory-storage-persistent.cpp.
|
explicit |
Definition at line 32 of file in-memory-storage-persistent.cpp.
References ndn::util::InMemoryStorage::evictItem().
NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PROTECTED ndn::util::InMemoryStoragePersistent::__pad0__ |
Definition at line 49 of file in-memory-storage-persistent.hpp.