helper: ndn::GlobalRoutingHelper extension
Now CalculateRoutes and CalculateAllPossibleRoutes accept flag,
indicating whether to invalidate (default) or preserve existing routes
diff --git a/helper/ndn-global-routing-helper.cc b/helper/ndn-global-routing-helper.cc
index 6ecd944..04ecc6f 100644
--- a/helper/ndn-global-routing-helper.cc
+++ b/helper/ndn-global-routing-helper.cc
@@ -234,7 +234,7 @@
}
void
-GlobalRoutingHelper::CalculateRoutes ()
+GlobalRoutingHelper::CalculateRoutes (bool invalidatedRoutes/* = true*/)
{
/**
* Implementation of route calculation is heavily based on Boost Graph Library
@@ -278,7 +278,10 @@
// NS_LOG_DEBUG (predecessors.size () << ", " << distances.size ());
Ptr<Fib> fib = source->GetObject<Fib> ();
- fib->InvalidateAll ();
+ if (invalidatedRoutes)
+ {
+ fib->InvalidateAll ();
+ }
NS_ASSERT (fib != 0);
NS_LOG_DEBUG ("Reachability from Node: " << source->GetObject<Node> ()->GetId ());
@@ -324,7 +327,7 @@
}
void
-GlobalRoutingHelper::CalculateAllPossibleRoutes ()
+GlobalRoutingHelper::CalculateAllPossibleRoutes (bool invalidatedRoutes/* = true*/)
{
/**
* Implementation of route calculation is heavily based on Boost Graph Library
@@ -350,7 +353,10 @@
}
Ptr<Fib> fib = source->GetObject<Fib> ();
- fib->InvalidateAll ();
+ if (invalidatedRoutes)
+ {
+ fib->InvalidateAll ();
+ }
NS_ASSERT (fib != 0);
NS_LOG_DEBUG ("===========");