21 #ifndef _NDN_FIB_IMPL_H_ 
   22 #define _NDN_FIB_IMPL_H_ 
   24 #include "ns3/ndn-fib.h" 
   25 #include "ns3/ndn-name.h" 
   27 #include "../../utils/trie/trie-with-policy.h" 
   28 #include "../../utils/trie/counting-policy.h" 
   47   EntryImpl (Ptr<Fib> fib, 
const Ptr<const Name> &prefix)
 
   72                                                     ndnSIM::smart_pointer_payload_traits< EntryImpl >,
 
   73                                                     ndnSIM::counting_policy_traits >
 
   95   virtual Ptr<fib::Entry>
 
   99   Add (
const Name &prefix, Ptr<Face> face, int32_t metric);
 
  102   Add (
const Ptr<const Name> &prefix, Ptr<Face> face, int32_t metric);
 
  105   Remove (
const Ptr<const Name> &prefix);
 
  114   Print (std::ostream &os) 
const;
 
  119   virtual Ptr<const Entry>
 
  125   virtual Ptr<const Entry>
 
  131   virtual Ptr<const Entry>
 
  132   Next (Ptr<const Entry> item) 
const;
 
  135   Next (Ptr<Entry> item);
 
Entry(Ptr< Fib > fib, const Ptr< const Name > &prefix)
Constructor. 
 
virtual void DoDispose()
Perform cleanup. 
 
virtual Ptr< Entry > LongestPrefixMatch(const Interest &interest)
Perform longest prefix match. 
 
FIB entry implementation with with additional references to the base container. 
 
Class implementing FIB functionality. 
 
Structure for FIB table entry, holding indexed list of available faces and their respective metrics...
 
virtual Ptr< const Entry > Begin() const 
Return first element of FIB (no order guaranteed) 
 
Traits for policy that just keeps track of number of elements It's doing a rather expensive job...
 
virtual void InvalidateAll()
Invalidate all FIB entries. 
 
virtual void NotifyNewAggregate()
Notify when object is aggregated. 
 
virtual Ptr< fib::Entry > Find(const Name &prefix)
Get FIB entry for the prefix (exact match) 
 
virtual Ptr< Entry > Add(const Name &prefix, Ptr< Face > face, int32_t metric)
Add or update FIB entry. 
 
virtual uint32_t GetSize() const 
Get number of entries in FIB. 
 
static TypeId GetTypeId()
Interface ID. 
 
virtual void Print(std::ostream &os) const 
Print out entries in FIB. 
 
Class implementing FIB functionality. 
 
virtual void RemoveFromAll(Ptr< Face > face)
Remove all references to a face from FIB. 
 
NDN Interest (wire formats are defined in wire) 
 
virtual Ptr< const Entry > End() const 
Return item next after last (no order guaranteed) 
 
virtual void Remove(const Ptr< const Name > &prefix)
Remove FIB entry.