26 #ifndef NFD_DAEMON_RIB_FIB_UPDATER_HPP 27 #define NFD_DAEMON_RIB_FIB_UPDATER_HPP 44 class Error :
public std::runtime_error
47 using std::runtime_error::runtime_error;
112 sendAddNextHopUpdate(
const FibUpdate& update,
115 uint32_t nTimeouts = 0);
123 sendRemoveNextHopUpdate(
const FibUpdate& update,
126 uint32_t nTimeouts = 0);
132 computeUpdatesForRegistration(
const RibUpdate& update);
137 computeUpdatesForUnregistration(
const RibUpdate& update);
191 addInheritedRoutes(
const RibEntry& entry,
const Rib::RouteSet& routesToAdd);
197 addInheritedRoutes(
const Name&
name,
const Rib::RouteSet& routesToAdd,
const Route& ignore);
202 removeInheritedRoutes(
const RibEntry& entry,
const Rib::RouteSet& routesToRemove);
207 createFibUpdatesForNewRibEntry(
const Name&
name,
const Route& route,
213 createFibUpdatesForNewRoute(
const RibEntry& entry,
const Route& route,
214 const bool captureWasTurnedOn);
219 createFibUpdatesForUpdatedRoute(
const RibEntry& entry,
const Route& route,
220 const Route& existingRoute);
225 createFibUpdatesForErasedRoute(
const RibEntry& entry,
const Route& route,
226 const bool captureWasTurnedOff);
231 createFibUpdatesForErasedRibEntry(
const RibEntry& entry);
237 const Rib::RouteSet& routesToAdd,
238 const Rib::RouteSet& routesToRemove);
243 traverseSubTree(
const RibEntry& entry, Rib::RouteSet routesToAdd, Rib::RouteSet routesToRemove);
258 uint64_t m_batchFaceId;
273 #endif // NFD_DAEMON_RIB_FIB_UPDATER_HPP #define NFD_VIRTUAL_WITH_TESTS
#define NFD_PROTECTED_WITH_TESTS_ELSE_PRIVATE
FibUpdater(Rib &rib, ndn::nfd::Controller &controller)
represents the Routing Information Base
NFD_VIRTUAL_WITH_TESTS ~FibUpdater()=default
Represents a collection of RibUpdates to be applied to a single FaceId.
computes FibUpdates based on updates to the RIB and sends them to NFD
std::list< shared_ptr< RibEntry > > RibEntryList
std::list< FibUpdate > FibUpdateList
std::list< RibUpdate > RibUpdateList
Copyright (c) 2011-2015 Regents of the University of California.
#define NFD_PUBLIC_WITH_TESTS_ELSE_PRIVATE
Represents a RIB entry, which contains one or more Routes with the same prefix.
represents a route for a name prefix
NFD Management protocol client.
Represents an absolute name.
std::function< void(uint32_t code, const std::string &error)> FibUpdateFailureCallback
void computeAndSendFibUpdates(const RibUpdateBatch &batch, const FibUpdateSuccessCallback &onSuccess, const FibUpdateFailureCallback &onFailure)
computes FibUpdates using the provided RibUpdateBatch and then sends the updates to NFD's FIB ...
std::function< void(RibUpdateList inheritedRoutes)> FibUpdateSuccessCallback