hotfix #1
diff --git a/model/ccnx-l3-protocol.cc b/model/ccnx-l3-protocol.cc
index 13bf2f0..e5f7f0c 100644
--- a/model/ccnx-l3-protocol.cc
+++ b/model/ccnx-l3-protocol.cc
@@ -275,15 +275,17 @@
// No matter is it duplicate or not, if it is a NACK message, remove all possible incoming
// entries for this interface (NACK means that neighbor gave up trying and there is no
// point of sending data in this direction)
+ NS_LOG_INFO("Before (header->IsNack()) && (pitEntry != m_pit->end ())");
if ((header->IsNack()) && (pitEntry != m_pit->end ()))
{
//m_pit->erase (pitEntry);
m_pit->modify(pitEntry, CcnxPitEntry::DeleteIncoming(incomingFace));
}
-
+ NS_LOG_INFO("Before WasRecentlySatisfied");
if (m_rit->WasRecentlySatisfied (*header))
{
+ NS_LOG_INFO("Entering WasRecentlySatisfied");
// duplicate interests (same nonce) from applications are just ignored
if (incomingFace->IsLocal() == true)
return;
@@ -429,6 +431,7 @@
// method `propagateInterest' can/should try different interface
// from `availableInterfaces' list
+ NS_LOG_INFO("Before SetRecentlySatisfied");
m_rit->SetRecentlySatisfied (*header);
NS_LOG_INFO("Cache Lookup for " << header->GetName());
@@ -444,21 +447,28 @@
}
// Data is not in cache
-
+ NS_LOG_INFO("Before inFace and OutFace");
CcnxPitEntryIncomingFaceContainer::type::iterator inFace = pitEntry->m_incoming.find (incomingFace);
CcnxPitEntryOutgoingFaceContainer::type::iterator outFace = pitEntry->m_outgoing.find (incomingFace);
+ NS_LOG_INFO("Before (pitEntry != m_pit->end()) && (pitEntry->m_timerExpired == false)");
if ((pitEntry != m_pit->end()) && (pitEntry->m_timerExpired == false))
{
- //CcnxFibFaceMetricContainer::type m_faces;
- //pitEntry->m_fibEntry->m_faces
+ NS_LOG_INFO("Entering (pitEntry != m_pit->end()) && (pitEntry->m_timerExpired == false)");
+
+ if(inFace->m_face == NULL)
+ NS_LOG_INFO("in face is null");
+ if(outFace->m_face == NULL)
+ NS_LOG_INFO("outface is null");
// If we're expecting data from the interface we got the interest from ("producer" asks us for "his own" data)
// Give up this interface, but keep a small hope when the returned packet doesn't have PRUNE status
- if( inFace->m_face == outFace->m_face )
+ if( outFace != pitEntry->m_outgoing.end())
{
+ NS_LOG_INFO("Entering outFace != pitEntry->m_outgoing.end()");
if( header->IsCongested() == true )
{
+ NS_LOG_INFO("Entering header->IsCongested() == true");
m_pit->LeakBucket(incomingFace, 1);
m_pit->modify (pitEntry, CcnxPitEntry::DeleteOutgoing(outFace->m_face));
}
@@ -472,7 +482,7 @@
}
}
-
+ NS_LOG_INFO("Before (pitEntry->m_outgoing.size() == 0) && (pitEntry->m_fibEntry.m_faces.size() == 0)");
if((pitEntry->m_outgoing.size() == 0) && (pitEntry->m_fibEntry.m_faces.size() == 0))
// prune all incoming interests
{