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.