fw: eliminate fibEntry in Strategy API
Strategy::lookupFib can be used to obtain FIB entry.
FIB lookup is skipped when strategy does not need it.
refs #3205
Change-Id: Icba67229cbc261d9def44ffa91461ea4b09982b2
diff --git a/daemon/fw/best-route-strategy.cpp b/daemon/fw/best-route-strategy.cpp
index d6d9bb0..bae5262 100644
--- a/daemon/fw/best-route-strategy.cpp
+++ b/daemon/fw/best-route-strategy.cpp
@@ -44,7 +44,6 @@
void
BestRouteStrategy::afterReceiveInterest(const Face& inFace,
const Interest& interest,
- shared_ptr<fib::Entry> fibEntry,
shared_ptr<pit::Entry> pitEntry)
{
if (hasPendingOutRecords(*pitEntry)) {
@@ -52,7 +51,8 @@
return;
}
- const fib::NextHopList& nexthops = fibEntry->getNextHops();
+ const fib::Entry& fibEntry = this->lookupFib(*pitEntry);
+ const fib::NextHopList& nexthops = fibEntry.getNextHops();
fib::NextHopList::const_iterator it = std::find_if(nexthops.begin(), nexthops.end(),
[&pitEntry] (const fib::NextHop& nexthop) { return canForwardToLegacy(*pitEntry, *nexthop.getFace()); });