Provides application cache with persistent storage, of which no replacement policy will be employed. More...
#include <in-memory-storage-persistent.hpp>
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 45 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::InMemoryStorageLfu, and ndn::InMemoryStorageLru.
Definition at line 435 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::InMemoryStorageLfu, ndn::InMemoryStorageLru, and ndn::InMemoryStorageFifo.
Definition at line 425 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::InMemoryStorageLfu, ndn::InMemoryStorageLru, and ndn::InMemoryStorageFifo.
Definition at line 430 of file in-memory-storage.cpp.
|
inherited |
Returns begin iterator of the in-memory storage ordering by name with digest.
Definition at line 409 of file in-memory-storage.cpp.
|
inherited |
Returns end iterator of the in-memory storage ordering by name with digest.
Definition at line 417 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 371 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 398 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 220 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 201 of file in-memory-storage.cpp.
|
inlineprotectedinherited |
returns current capacity of in-memory storage (in packets)
Definition at line 255 of file in-memory-storage.hpp.
|
inlineinherited |
Definition at line 185 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 263 of file in-memory-storage.hpp.
|
protectedinherited |
Prints contents of the in-memory storage.
Definition at line 440 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 193 of file in-memory-storage.hpp.
|
staticinherited |
Definition at line 320 of file in-memory-storage.hpp.