26 #ifndef NFD_RIB_RIB_HPP    27 #define NFD_RIB_RIB_HPP    32 #include <ndn-cxx/mgmt/nfd/control-parameters.hpp>    59 class Rib : noncopyable
    63   typedef std::map<Name, shared_ptr<RibEntry>> 
RibTable;
    66   typedef bool (*RouteComparePredicate)(
const Route&, 
const Route&);
    67   typedef std::set<Route, RouteComparePredicate> 
RouteSet;
    77   find(
const Name& prefix) 
const;
    80   find(
const Name& prefix, 
const Route& 
route) 
const;
    95   findParent(
const Name& prefix) 
const;
   100   std::list<shared_ptr<RibEntry>>
   101   findDescendants(
const Name& prefix) 
const;
   111   std::list<shared_ptr<RibEntry>>
   112   findDescendantsForNonInsertedName(
const Name& prefix) 
const;
   127   beginApplyUpdate(
const RibUpdate& update,
   128                    const UpdateSuccessCallback& onSuccess,
   129                    const UpdateFailureCallback& onFailure);
   134   beginRemoveFace(uint64_t faceId);
   143                      uint32_t code, 
const std::string& error);
   146   onRouteExpiration(
const Name& prefix, 
const Route& 
route);
   149   insert(
const Name& prefix, 
const Route& 
route);
   163   addUpdateToQueue(
const RibUpdate& update,
   175   sendBatchFromQueue();
   179   function<void(RibUpdateBatch)> m_onSendBatchFromQueue;
   182   erase(
const Name& prefix, 
const Route& 
route);
   205   getAncestorRoutes(
const Name& 
name) 
const;
   214   typedef std::pair<const Name&,const Route&> NameAndRoute;
   216   std::list<NameAndRoute>
   217   findRoutesWithFaceId(uint64_t faceId);
   245   FaceLookupTable m_faceMap;
   253   struct UpdateQueueItem
   261   typedef std::list<UpdateQueueItem> UpdateQueue;
   262   UpdateQueue m_updateBatches;
   265   bool m_isUpdateInProgress;
   271   return m_rib.begin();
   289   return m_rib.empty();
   298 #endif // NFD_RIB_RIB_HPP #define PUBLIC_WITH_TESTS_ELSE_PRIVATE
 
represents the Routing Information Base 
 
std::map< uint64_t, std::list< shared_ptr< RibEntry > > > FaceLookupTable
 
Rib
Copyright (c) 2014-2017, Regents of the University of California, Arizona Board of Regents...
 
represents a collection of RibUpdates to be applied to a single FaceId 
 
std::ostream & operator<<(std::ostream &os, const FibUpdate &update)
 
ndn::util::signal::Signal< Rib, RibRouteRef > afterAddRoute
signals after a Route is added 
 
computes FibUpdates based on updates to the RIB and sends them to NFD 
 
RibEntry::const_iterator route
 
provides a lightweight signal / event system 
 
function< void(uint32_t code, const std::string &error)> UpdateFailureCallback
 
std::set< Route, RouteComparePredicate > RouteSet
 
Table::const_iterator iterator
 
function< void()> UpdateSuccessCallback
 
std::list< shared_ptr< RibEntry > > RibEntryList
 
std::list< RibUpdate > RibUpdateList
 
std::map< Name, shared_ptr< RibEntry > > RibTable
 
Copyright (c) 2011-2015 Regents of the University of California. 
 
shared_ptr< RibEntry > entry
 
represents a RIB entry, which contains one or more Routes with the same prefix 
 
represents a route for a name prefix 
 
Represents an absolute name. 
 
RibTable::const_iterator const_iterator
 
ndn::util::signal::Signal< Rib, Name > afterInsertEntry
signals after a RIB entry is inserted 
 
const_iterator end() const 
 
ndn::util::signal::Signal< Rib, Name > afterEraseEntry
signals after a RIB entry is erased 
 
RouteList::const_iterator const_iterator
 
const_iterator begin() const 
 
bool operator<(const ReadvertisedRoute &lhs, const ReadvertisedRoute &rhs)
 
ndn::util::signal::Signal< Rib, RibRouteRef > beforeRemoveRoute
signals before a route is removed