[ndnSIM] object retransmission

ioannoa at scss.tcd.ie ioannoa at scss.tcd.ie
Tue Apr 8 07:29:45 PDT 2014

Hello everyone,

I've created a consumer that sends packets on objects continuously, i.e.
the consumer chooses an object, it sends all the related packets and when
is done it chooses an other object etc etc.

My issue is that once i ma finishing over with the 1st object towards to
the 2nd one, my code is keep on entering the below loop which is in the
SendPacket function of the consumer. It then starts up normally again.. 
My questions are:
1. why is its stick in there since i am not calling any retransmission
checking function as the regular consumer does.
2. is this gonna have an impact to the measurements, e.g. number of hits
or misses of a cache etc.
3. could i avoid it somehow (what is causing it?)

while (m_retxSeqs.size ())
  {     std::cout << "i am inside SendPacket function 4." << std::endl;

      seq = *m_retxSeqs.begin ();
      std::cout << "seq after SendPacket 4. " << seq << std::endl;
      m_retxSeqs.erase (m_retxSeqs.begin ());

      // NS_ASSERT (m_seqLifetimes.find (seq) != m_seqLifetimes.end ());
      // if (m_seqLifetimes.find (seq)->time <= Simulator::Now ())
      //   {

      //     NS_LOG_DEBUG ("Expire " << seq);
      //     m_seqLifetimes.erase (seq); // lifetime expired. Trying to
find another unexpired sequence number
      //     continue;
      //   }
      NS_LOG_DEBUG("=interest seq "<<seq<<" from m_retxSeqs");

p.s. my packets are scheduled like:
if (m_firstTime){
      ConsumerZMObject::ScheduleNextObject(); // deciding the next object
      m_firstTime = false;
      m_sendEvent = Simulator::Schedule (Seconds (0.0),
  else if (!m_sendEvent.IsRunning ()){
      m_sendEvent = Simulator::Schedule (Seconds (0.0),

in the ScheduleNextPacket function.

Many thanks,

More information about the ndnSIM mailing list