20 #ifndef NDN_CONTENT_STORE_H 
   21 #define NDN_CONTENT_STORE_H 
   23 #include "ns3/ndnSIM/model/ndn-common.hpp" 
   25 #include "ns3/object.h" 
   27 #include "ns3/traced-callback.h" 
   54 class Entry : 
public SimpleRefCount<Entry> {
 
   65   Entry(Ptr<ContentStore> cs, shared_ptr<const Data> data);
 
   78   shared_ptr<const Data>
 
   88   Ptr<ContentStore> m_cs;        
 
   89   shared_ptr<const Data> m_data; 
 
  124   virtual shared_ptr<Data>
 
  125   Lookup(shared_ptr<const Interest> interest) = 0;
 
  136   Add(shared_ptr<const Data> data) = 0;
 
  151   Print(std::ostream& os) 
const = 0;
 
  162   virtual Ptr<cs::Entry>
 
  168   virtual Ptr<cs::Entry>
 
  174   virtual Ptr<cs::Entry> 
Next(Ptr<cs::Entry>) = 0;
 
  183   static inline Ptr<ContentStore>
 
  187   TracedCallback<shared_ptr<const Interest>,
 
  200 inline Ptr<ContentStore>
 
  209 #include <boost/functional/hash.hpp> 
  214   return boost::hash_range(component.wireEncode().wire(),
 
  215                            component.wireEncode().wire() + component.wireEncode().size());
 
  219 #endif // NDN_CONTENT_STORE_H 
virtual shared_ptr< Data > Lookup(shared_ptr< const Interest > interest)=0
Find corresponding CS entry for the given interest. 
 
virtual Ptr< cs::Entry > End()=0
Return item next after last (no order guaranteed) 
 
std::size_t hash_value(const ::ndn::name::Component component)
 
std::ostream & operator<<(std::ostream &os, const ContentStore &cs)
 
Entry(Ptr< ContentStore > cs, shared_ptr< const Data > data)
Construct content store entry. 
 
TracedCallback< shared_ptr< const Interest > > m_cacheMissesTrace
trace of cache misses 
 
virtual bool Add(shared_ptr< const Data > data)=0
Add a new content to the content store. 
 
static Ptr< ContentStore > GetContentStore(Ptr< Object > node)
Static call to cheat python bindings. 
 
virtual void Print(std::ostream &os) const =0
Print out content store entries. 
 
virtual Ptr< cs::Entry > Begin()=0
Return first element of content store (no order guaranteed) 
 
TracedCallback< shared_ptr< const Interest >, shared_ptr< const Data > > m_cacheHitsTrace
trace of cache hits 
 
virtual ~ContentStore()
Virtual destructor. 
 
shared_ptr< const Data > GetData() const 
Get Data of the stored entry. 
 
ndn cs ContentStore
Copyright (c) 2011-2015 Regents of the University of California. 
 
Ptr< ContentStore > GetContentStore()
Get pointer to access store, to which this entry is added. 
 
const Name & GetName() const 
Get prefix of the stored entry. 
 
virtual uint32_t GetSize() const =0
Get number of entries in content store. 
 
static TypeId GetTypeId()
Interface ID. 
 
virtual Ptr< cs::Entry > Next(Ptr< cs::Entry >)=0
Advance the iterator. 
 
Base class for NDN content store.