24 #include "ns3/object.h" 
   25 #include "ns3/nstime.h" 
   26 #include "ns3/event-id.h" 
   28 #include "ndn-pit-entry.h" 
   50 typedef Interest InterestHeader;
 
   51 typedef Data DataHeader;
 
   60 class Pit : 
public Object
 
   91   virtual Ptr<pit::Entry>
 
  100   virtual Ptr<pit::Entry>
 
  109   virtual Ptr<pit::Entry>
 
  120   virtual Ptr<pit::Entry>
 
  121   Create (Ptr<const Interest> header) = 0;
 
  139   Print (std::ostream &os) 
const = 0;
 
  150   virtual Ptr<pit::Entry>
 
  156   virtual Ptr<pit::Entry>
 
  162   virtual Ptr<pit::Entry>
 
  163   Next (Ptr<pit::Entry>) = 0;
 
  172   static inline Ptr<Pit>
 
  173   GetPit (Ptr<Object> node);
 
  189   Time m_PitEntryPruningTimout;
 
  191   Time m_maxPitEntryLifetime;
 
  198 operator<< (std::ostream& os, 
const Pit &pit)
 
  207   return node->GetObject<
Pit> ();
 
  213   return m_maxPitEntryLifetime;
 
  219   m_maxPitEntryLifetime = maxLifetime;
 
virtual Ptr< pit::Entry > Lookup(const Data &header)=0
Find corresponding PIT entry for the given content name. 
 
virtual void Print(std::ostream &os) const =0
Print out PIT contents for debugging purposes. 
 
Class implementing Pending Interests Table. 
 
virtual uint32_t GetSize() const =0
Get number of entries in PIT. 
 
const Time & GetMaxPitEntryLifetime() const 
Get maximum PIT entry lifetime. 
 
virtual Ptr< pit::Entry > Begin()=0
Return first element of FIB (no order guaranteed) 
 
virtual void MarkErased(Ptr< pit::Entry > entry)=0
Mark PIT entry deleted. 
 
virtual Ptr< pit::Entry > Next(Ptr< pit::Entry >)=0
Advance the iterator. 
 
static TypeId GetTypeId()
Interface ID. 
 
virtual Ptr< pit::Entry > Find(const Name &prefix)=0
Get PIT entry for the prefix (exact match) 
 
static Ptr< Pit > GetPit(Ptr< Object > node)
Static call to cheat python bindings. 
 
NDN Interest (wire formats are defined in wire) 
 
virtual Ptr< pit::Entry > End()=0
Return item next after last (no order guaranteed) 
 
void SetMaxPitEntryLifetime(const Time &maxLifetime)
Set maximum PIT entry lifetime. 
 
virtual Ptr< pit::Entry > Create(Ptr< const Interest > header)=0
Creates a PIT entry for the given interest. 
 
virtual ~Pit()
Destructor.