Class implementing FIB functionality. More...
#include <ndn-fib.h>
Public Member Functions | |
Fib () | |
Default constructor. | |
virtual | ~Fib () |
Virtual destructor. | |
virtual Ptr< fib::Entry > | LongestPrefixMatch (const Interest &interest)=0 |
Perform longest prefix match. More... | |
virtual Ptr< fib::Entry > | Find (const Name &prefix)=0 |
Get FIB entry for the prefix (exact match) More... | |
virtual Ptr< fib::Entry > | Add (const Name &prefix, Ptr< Face > face, int32_t metric)=0 |
Add or update FIB entry. More... | |
virtual Ptr< fib::Entry > | Add (const Ptr< const Name > &prefix, Ptr< Face > face, int32_t metric)=0 |
Add or update FIB entry using smart pointer to prefix. More... | |
virtual void | Remove (const Ptr< const Name > &prefix)=0 |
Remove FIB entry. More... | |
virtual void | InvalidateAll ()=0 |
Invalidate all FIB entries. | |
virtual void | RemoveFromAll (Ptr< Face > face)=0 |
Remove all references to a face from FIB. More... | |
virtual void | Print (std::ostream &os) const =0 |
Print out entries in FIB. | |
virtual uint32_t | GetSize () const =0 |
Get number of entries in FIB. | |
virtual Ptr< const fib::Entry > | Begin () const =0 |
Return first element of FIB (no order guaranteed) | |
virtual Ptr< fib::Entry > | Begin ()=0 |
Return first element of FIB (no order guaranteed) | |
virtual Ptr< const fib::Entry > | End () const =0 |
Return item next after last (no order guaranteed) | |
virtual Ptr< fib::Entry > | End ()=0 |
Return item next after last (no order guaranteed) | |
virtual Ptr< const fib::Entry > | Next (Ptr< const fib::Entry >) const =0 |
Advance the iterator. | |
virtual Ptr< fib::Entry > | Next (Ptr< fib::Entry >)=0 |
Advance the iterator. | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Interface ID. More... | |
static Ptr< Fib > | GetFib (Ptr< Object > node) |
Static call to cheat python bindings. | |
Class implementing FIB functionality.
Doxygen introspection did not find any typical Config paths.
No Attributes are defined for this type.
No TraceSources are defined for this type.
|
pure virtual |
Add or update FIB entry.
If the entry exists, metric will be updated. Otherwise, new entry will be created
name | Prefix |
face | Forwarding face |
metric | Routing metric |
Implemented in ns3::ndn::fib::FibImpl.
Referenced by ns3::ndn::StackHelper::AddRoute(), ns3::ndn::ApiFace::SetInterestFilter(), and ns3::ndn::Producer::StartApplication().
|
pure virtual |
Add or update FIB entry using smart pointer to prefix.
If the entry exists, metric will be updated. Otherwise, new entry will be created
name | Smart pointer to prefix |
face | Forwarding face |
metric | Routing metric |
Implemented in ns3::ndn::fib::FibImpl.
|
pure virtual |
Get FIB entry for the prefix (exact match)
prefix | Name for FIB entry |
Implemented in ns3::ndn::fib::FibImpl.
|
static |
|
pure virtual |
Perform longest prefix match.
interest | Interest packet header |
Implemented in ns3::ndn::fib::FibImpl.
|
pure virtual |
Remove FIB entry.
! ATTENTION ! Use with caution. All PIT entries referencing the corresponding FIB entry will become invalid. So, simulation may crash.
name | Smart pointer to prefix |
Implemented in ns3::ndn::fib::FibImpl.
|
pure virtual |
Remove all references to a face from FIB.
If for some enty that face was the only element, this FIB entry will be removed.
Implemented in ns3::ndn::fib::FibImpl.