Provides application cache with persistent storage, of which no replacement policy will be employed. More...
#include <ndn-cxx/ims/in-memory-storage-persistent.hpp>
Inheritance diagram for ndn::InMemoryStoragePersistent:
Collaboration diagram for ndn::InMemoryStoragePersistent:Public Types | |
| 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 |
Public Member Functions | |
| InMemoryStoragePersistent () | |
| InMemoryStoragePersistent (boost::asio::io_service &ioService) | |
| 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... | |
| void | erase (const Name &prefix, const bool isPrefix=true) |
| Deletes in-memory storage entry by prefix by default. 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... | |
| size_t | getLimit () const |
| void | insert (const Data &data, const time::milliseconds &mustBeFreshProcessingWindow=INFINITE_WINDOW) |
| Inserts a Data packet. More... | |
| size_t | size () const |
Static Public Attributes | |
| static const time::milliseconds | INFINITE_WINDOW |
Protected Member Functions | |
| virtual void | afterAccess (InMemoryStorageEntry *entry) |
| Update the entry when the entry is returned by the find() function according to derived class implemented replacement policy. 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... | |
| void | eraseImpl (const Name &name) |
| deletes in-memory storage entries by the Name with implicit digest. More... | |
| bool | evictItem () override |
| Do nothing. 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 | printCache (std::ostream &os) const |
| Prints contents of the in-memory storage. More... | |
| void | setCapacity (size_t nMaxPackets) |
| sets current capacity of in-memory storage (in packets) More... | |
Provides application cache with persistent storage, of which no replacement policy will be employed.
Entries will only be deleted by explicit application control.
Definition at line 32 of file in-memory-storage-persistent.hpp.
|
inherited |
Definition at line 60 of file in-memory-storage.hpp.
| ndn::InMemoryStoragePersistent::InMemoryStoragePersistent | ( | ) |
Definition at line 26 of file in-memory-storage-persistent.cpp.
|
explicit |
Definition at line 31 of file in-memory-storage-persistent.cpp.
|
protectedvirtualinherited |
Update the entry when the entry is returned by the find() function according to derived class implemented replacement policy.
Reimplemented in ndn::InMemoryStorageLru, and ndn::InMemoryStorageLfu.
Definition at line 380 of file in-memory-storage.cpp.
|
protectedvirtualinherited |
Update the entry or other data structures after a entry is successfully inserted according to derived class implemented replacement policy.
Reimplemented in ndn::InMemoryStorageLru, ndn::InMemoryStorageLfu, and ndn::InMemoryStorageFifo.
Definition at line 370 of file in-memory-storage.cpp.
|
protectedvirtualinherited |
Update the entry or other data structures before a entry is successfully erased according to derived class implemented replacement policy.
Reimplemented in ndn::InMemoryStorageLru, ndn::InMemoryStorageLfu, and ndn::InMemoryStorageFifo.
Definition at line 375 of file in-memory-storage.cpp.
|
inherited |
Returns begin iterator of the in-memory storage ordering by name with digest.
Definition at line 356 of file in-memory-storage.cpp.
|
inherited |
Returns end iterator of the in-memory storage ordering by name with digest.
Definition at line 363 of file in-memory-storage.cpp.
|
inherited |
Deletes in-memory storage entry by prefix by default.
| prefix | Exact name of a prefix of the data to remove |
| isPrefix | If false, the function will only delete the entry completely matched with the prefix according to canonical ordering. For this case, user should substitute the prefix with full name. |
Definition at line 321 of file in-memory-storage.cpp.
|
protectedinherited |
deletes in-memory storage entries by the Name with implicit digest.
This is the function one should use to erase entry in the cache in derived class. It won't invoke beforeErase(shared_ptr<Entry>).
Definition at line 346 of file in-memory-storage.cpp.
|
overrideprotectedvirtual |
Do nothing.
This storage is persistent, and does not support eviction.
Implements ndn::InMemoryStorage.
Definition at line 37 of file in-memory-storage-persistent.cpp.
Finds the best match Data for an Interest.
Definition at line 217 of file in-memory-storage.cpp.
Finds the best match Data for a Name with or without the implicit digest.
If packets with the same name but different digests exist and the Name supplied is the one without implicit digest, a packet will be arbitrarily chosen to return.
Definition at line 198 of file in-memory-storage.cpp.
|
inlineprotectedinherited |
returns current capacity of in-memory storage (in packets)
Definition at line 261 of file in-memory-storage.hpp.
|
inlineinherited |
Definition at line 191 of file in-memory-storage.hpp.
|
inherited |
Inserts a Data packet.
| data | the packet to insert, must be signed and have wire encoding |
| mustBeFreshProcessingWindow | Beyond this time period after the data is inserted, the data can only be used to answer interest without MustBeFresh selector. |
Definition at line 161 of file in-memory-storage.cpp.
|
inlineprotectedinherited |
returns true if the in-memory storage uses up the current capacity, false otherwise
Definition at line 269 of file in-memory-storage.hpp.
|
protectedinherited |
Prints contents of the in-memory storage.
Definition at line 385 of file in-memory-storage.cpp.
|
protectedinherited |
sets current capacity of in-memory storage (in packets)
Definition at line 131 of file in-memory-storage.cpp.
|
inlineinherited |
Definition at line 199 of file in-memory-storage.hpp.
|
staticinherited |
Definition at line 326 of file in-memory-storage.hpp.