Repair two critical bug with Interest/NACK processing
- There was wrong selection of FIB face order in CcnxForwardingStrategy
- Stop reacting on NACK if there are no incoming faces (i.e., loop
detected after interest is already satisfied)
diff --git a/model/ccnx-pit-entry.cc b/model/ccnx-pit-entry.cc
index 5667c82..76c7997 100644
--- a/model/ccnx-pit-entry.cc
+++ b/model/ccnx-pit-entry.cc
@@ -106,6 +106,8 @@
void
CcnxPitEntry::SetWaitingInVain (CcnxPitEntryOutgoingFaceContainer::type::iterator face)
{
+ NS_LOG_DEBUG (boost::cref (*face->m_face));
+
m_outgoing.modify (face,
(&ll::_1)->*&CcnxPitEntryOutgoingFace::m_waitingInVain = true);
}
@@ -113,6 +115,8 @@
bool
CcnxPitEntry::AreAllOutgoingInVain () const
{
+ NS_LOG_DEBUG (m_outgoing.size ());
+
bool inVain = true;
std::for_each (m_outgoing.begin (), m_outgoing.end (),
ll::var(inVain) &= (&ll::_1)->*&CcnxPitEntryOutgoingFace::m_waitingInVain);