Class implementing Pending Interests Table. More...
#include <ndn-pit-impl.h>
Public Types | |
typedef ndnSIM::trie_with_policy< Name, ndnSIM::smart_pointer_payload_traits < EntryImpl< PitImpl< Policy > > >, Policy > | super |
typedef EntryImpl< PitImpl < Policy > > | entry |
Public Member Functions | |
PitImpl () | |
PIT constructor. | |
virtual | ~PitImpl () |
Destructor. | |
virtual Ptr< Entry > | Lookup (const Data &header) |
Find corresponding PIT entry for the given content name. More... | |
virtual Ptr< Entry > | Lookup (const Interest &header) |
Find a PIT entry for the given content interest. More... | |
virtual Ptr< Entry > | Find (const Name &prefix) |
Get PIT entry for the prefix (exact match) More... | |
virtual Ptr< Entry > | Create (Ptr< const Interest > header) |
Creates a PIT entry for the given interest. More... | |
virtual void | MarkErased (Ptr< Entry > entry) |
virtual void | Print (std::ostream &os) const |
Print out PIT contents for debugging purposes. More... | |
virtual uint32_t | GetSize () const |
Get number of entries in PIT. | |
virtual Ptr< Entry > | Begin () |
Return first element of FIB (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::Pit | |
Pit () | |
PIT constructor. | |
virtual | ~Pit () |
Destructor. | |
virtual void | MarkErased (Ptr< pit::Entry > entry)=0 |
Mark PIT entry deleted. More... | |
virtual Ptr< pit::Entry > | Next (Ptr< pit::Entry >)=0 |
Advance the iterator. | |
const Time & | GetMaxPitEntryLifetime () const |
Get maximum PIT entry lifetime. | |
void | SetMaxPitEntryLifetime (const Time &maxLifetime) |
Set maximum PIT entry lifetime. | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Interface ID. More... | |
Static Public Member Functions inherited from ns3::ndn::Pit | |
static TypeId | GetTypeId () |
Interface ID. More... | |
static Ptr< Pit > | GetPit (Ptr< Object > node) |
Static call to cheat python bindings. | |
Protected Member Functions | |
void | RescheduleCleaning () |
void | CleanExpired () |
virtual void | NotifyNewAggregate () |
Even when object is aggregated to another Object. | |
virtual void | DoDispose () |
Do cleanup. | |
Protected Member Functions inherited from ns3::ndn::ndnSIM::trie_with_policy< Name, ndnSIM::smart_pointer_payload_traits< EntryImpl< PitImpl< Policy > > >, 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< PitImpl< Policy > > >::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 () |
Friends | |
class | EntryImpl< PitImpl > |
Additional Inherited Members | |
Protected Types inherited from ns3::ndn::ndnSIM::trie_with_policy< Name, ndnSIM::smart_pointer_payload_traits< EntryImpl< PitImpl< Policy > > >, Policy > | |
typedef trie< Name, ndnSIM::smart_pointer_payload_traits < EntryImpl< PitImpl< Policy > > >, 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< PitImpl< Policy > > >, Policy >, parent_trie, typename Policy::template container_hook< parent_trie > ::type >::type | policy_container |
Static Protected Member Functions inherited from ns3::ndn::ndnSIM::trie_with_policy< Name, ndnSIM::smart_pointer_payload_traits< EntryImpl< PitImpl< Policy > > >, Policy > | |
static iterator | s_iterator_to (typename parent_trie::iterator item) |
Protected Attributes inherited from ns3::ndn::Pit | |
Time | m_PitEntryPruningTimout |
Time | m_maxPitEntryLifetime |
Class implementing Pending Interests Table.
Definition at line 50 of file ndn-pit-impl.h.
|
virtual |
Creates a PIT entry for the given interest.
header | parsed interest header |
Note. This call assumes that the entry does not exist (i.e., there was a Lookup call before)
Implements ns3::ndn::Pit.
Definition at line 347 of file ndn-pit-impl.h.
|
virtual |
Get PIT entry for the prefix (exact match)
prefix | Name for PIT entry |
Implements ns3::ndn::Pit.
Definition at line 334 of file ndn-pit-impl.h.
|
static |
|
virtual |
Find corresponding PIT entry for the given content name.
Not that this call should be repeated enough times until it return 0. This way all records with shorter or equal prefix as in content object will be found and satisfied.
prefix | Prefix for which to lookup the entry |
Implements ns3::ndn::Pit.
Definition at line 303 of file ndn-pit-impl.h.
References ns3::ndn::Data::GetName().
|
virtual |
Find a PIT entry for the given content interest.
header | parsed interest header |
Implements ns3::ndn::Pit.
Definition at line 316 of file ndn-pit-impl.h.
References ns3::ndn::ndnSIM::trie< FullKey, PayloadTraits, PolicyHook >::find(), and ns3::ndn::Interest::GetName().
|
virtual |
Print out PIT contents for debugging purposes.
Note that there is no definite order in which entries are printed out
Implements ns3::ndn::Pit.
Definition at line 396 of file ndn-pit-impl.h.