fw: NccStrategy explore potential upstreams
ref: #3411
Change-Id: I30593e01b15a28a32011831659cce6e457633791
diff --git a/daemon/fw/ncc-strategy.cpp b/daemon/fw/ncc-strategy.cpp
index 5f4c7fa..ef91c6b 100644
--- a/daemon/fw/ncc-strategy.cpp
+++ b/daemon/fw/ncc-strategy.cpp
@@ -215,8 +215,16 @@
}
shared_ptr<PitEntryInfo> pitEntryInfo = pitEntry->getStrategyInfo<PitEntryInfo>();
- if (static_cast<bool>(pitEntryInfo)) {
+ if (pitEntryInfo != nullptr) {
scheduler::cancel(pitEntryInfo->propagateTimer);
+
+ // Verify that the best face satisfied the interest before canceling the timeout call
+ shared_ptr<MeasurementsEntryInfo> measurementsEntryInfo =
+ this->getMeasurementsEntryInfo(pitEntry);
+ shared_ptr<Face> bestFace = measurementsEntryInfo->getBestFace();
+
+ if (bestFace.get() == &inFace)
+ scheduler::cancel(pitEntryInfo->bestFaceTimeout);
}
}