Base implementation of NDN content store. More...
#include <content-store-impl.h>
Public Types | |
typedef ndnSIM::trie_with_policy< Name, ndnSIM::smart_pointer_payload_traits < EntryImpl< ContentStoreImpl < Policy > >, Entry >, Policy > | super |
typedef EntryImpl < ContentStoreImpl< Policy > > | entry |
Public Member Functions | |
virtual Ptr< Data > | Lookup (Ptr< const Interest > interest) |
Find corresponding CS entry for the given interest. More... | |
virtual bool | Add (Ptr< const Data > data) |
Add a new content to the content store. More... | |
virtual void | Print (std::ostream &os) const |
Print out content store entries. | |
virtual uint32_t | GetSize () const |
Get number of entries in content store. | |
virtual Ptr< Entry > | Begin () |
Return first element of content store (no order guaranteed) | |
virtual Ptr< Entry > | End () |
Return item next after last (no order guaranteed) | |
virtual Ptr< Entry > | Next (Ptr< Entry >) |
const super::policy_container & | GetPolicy () const |
super::policy_container & | GetPolicy () |
Public Member Functions inherited from ns3::ndn::ContentStore | |
virtual | ~ContentStore () |
Virtual destructor. | |
virtual Ptr< cs::Entry > | Next (Ptr< cs::Entry >)=0 |
Advance the iterator. | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Static Public Member Functions inherited from ns3::ndn::ContentStore | |
static TypeId | GetTypeId () |
Interface ID. More... | |
static Ptr< ContentStore > | GetContentStore (Ptr< Object > node) |
Static call to cheat python bindings. | |
Additional Inherited Members | |
Protected Types inherited from ns3::ndn::ndnSIM::trie_with_policy< Name, ndnSIM::smart_pointer_payload_traits< EntryImpl< ContentStoreImpl< Policy > >, Entry >, Policy > | |
typedef trie< Name, ndnSIM::smart_pointer_payload_traits < EntryImpl< ContentStoreImpl < Policy > >, Entry > , typename Policy::policy_hook_type > | parent_trie |
typedef parent_trie::iterator | iterator |
typedef parent_trie::const_iterator | const_iterator |
typedef Policy::template policy< trie_with_policy< Name, ndnSIM::smart_pointer_payload_traits < EntryImpl< ContentStoreImpl < Policy > >, Entry >, Policy > , parent_trie, typename Policy::template container_hook< parent_trie > ::type >::type | policy_container |
Protected Member Functions inherited from ns3::ndn::ndnSIM::trie_with_policy< Name, ndnSIM::smart_pointer_payload_traits< EntryImpl< ContentStoreImpl< Policy > >, Entry >, Policy > | |
trie_with_policy (size_t bucketSize=1, size_t bucketIncrement=1) | |
std::pair< iterator, bool > | insert (const Name &key, typename ndnSIM::smart_pointer_payload_traits< EntryImpl< ContentStoreImpl< Policy > >, Entry >::insert_type payload) |
void | erase (const Name &key) |
void | erase (iterator node) |
void | clear () |
bool | modify (iterator position, Modifier mod) |
iterator | find_exact (const Name &key) |
Find a node that has the exact match with the key. | |
iterator | longest_prefix_match (const Name &key) |
Find a node that has the longest common prefix with key (FIB/PIT lookup) | |
iterator | longest_prefix_match_if (const Name &key, Predicate pred) |
Find a node that has the longest common prefix with key (FIB/PIT lookup) | |
iterator | deepest_prefix_match (const Name &key) |
Const version of the longest common prefix match (semi-const, because there could be update of the policy anyways) More... | |
iterator | deepest_prefix_match_if (const Name &key, Predicate pred) |
Find a node that has prefix at least as the key. | |
iterator | deepest_prefix_match_if_next_level (const Name &key, Predicate pred) |
Find a node that has prefix at least as the key. More... | |
iterator | end () const |
const parent_trie & | getTrie () const |
parent_trie & | getTrie () |
const policy_container & | getPolicy () const |
policy_container & | getPolicy () |
Static Protected Member Functions inherited from ns3::ndn::ndnSIM::trie_with_policy< Name, ndnSIM::smart_pointer_payload_traits< EntryImpl< ContentStoreImpl< Policy > >, Entry >, Policy > | |
static iterator | s_iterator_to (typename parent_trie::iterator item) |
Protected Attributes inherited from ns3::ndn::ContentStore | |
TracedCallback< Ptr< const Interest >, Ptr< const Data > > | m_cacheHitsTrace |
trace of cache hits | |
TracedCallback< Ptr< const Interest > > | m_cacheMissesTrace |
trace of cache misses | |
Base implementation of NDN content store.
Definition at line 77 of file content-store-impl.h.
|
inlinevirtual |
Add a new content to the content store.
header | Fully parsed Data |
packet | Fully formed Ndn packet to add to content store (will be copied and stripped down of headers) |
Implements ns3::ndn::ContentStore.
Reimplemented in ns3::ndn::cs::ContentStoreWithFreshness< Policy >, ns3::ndn::cs::ContentStoreWithFreshness< fifo_policy_traits >, ns3::ndn::cs::ContentStoreWithFreshness< lfu_policy_traits >, ns3::ndn::cs::ContentStoreWithFreshness< random_policy_traits >, and ns3::ndn::cs::ContentStoreWithFreshness< lru_policy_traits >.
Definition at line 224 of file content-store-impl.h.
|
inlinevirtual |
Find corresponding CS entry for the given interest.
interest | Interest for which matching content store entry will be searched |
If an entry is found, it is promoted to the top of most recent used entries index,
Implements ns3::ndn::ContentStore.
Definition at line 192 of file content-store-impl.h.