[ndnSIM] Send interest packet per segment of some content

Spyridon (Spyros) Mastorakis mastorakis at cs.ucla.edu
Thu Apr 13 21:08:03 PDT 2017


You will have to modify the SegmentFetcher if you would like to use it in ndnSIM. Not clear to me what modifications exactly might be needed.

Thanks,

Spyridon (Spyros) Mastorakis
Personal Website: http://cs.ucla.edu/~mastorakis/ <http://cs.ucla.edu/~mastorakis/>
Internet Research Laboratory
Computer Science Department
UCLA

> On Apr 13, 2017, at 8:26 AM, Amir Ibrahim <a.ibrahim at fci-cu.edu.eg> wrote:
> 
> Thanks for your reply.
> 
> Can I use SegmentFetcher::fetch? 
> 
> On Wed, Apr 12, 2017 at 10:16 PM, Spyridon (Spyros) Mastorakis <mastorakis at cs.ucla.edu <mailto:mastorakis at cs.ucla.edu>> wrote:
> Hi,
> 
> the class you tried to modify derives from the Consumer class.
> 
> I would suggest you modify the Consumer class directly.
> 
> Thanks,
> 
> Spyridon (Spyros) Mastorakis
> Personal Website: http://cs.ucla.edu/~mastorakis/ <http://cs.ucla.edu/~mastorakis/>
> Internet Research Laboratory
> Computer Science Department
> UCLA
> 
>> On Apr 12, 2017, at 7:08 PM, Amir Ibrahim <a.ibrahim at fci-cu.edu.eg <mailto:a.ibrahim at fci-cu.edu.eg>> wrote:
>> 
>> Hi All,
>>  I'm trying to create a new ndn application that sends interest packet for a content as follow:
>> - Each content consists of more than one segment.
>> - When a node wants to retrieve a content, it sends interest packets for each segment of that content (ex: if content /prefix/file01 has 2 segments the app should send 2 interest packets
>> /prefix/file01/01 and /prefix/file01/02)
>> 
>> My trials to do so are:
>> 1. I tried to modify the ConsumerZipfMandelbrot.cpp application by adding the below lines of code to the SendPacket() method:
>> 
>> for (uint64_t j = 0; j <m_ChunksPerContent[seq-1]; j++) {
>> 
>> 	  // prepare the name of content/file
>> 	  shared_ptr<Name> nameWithSequence = make_shared<Name>(m_interestName);
>> 	  nameWithSequence->appendSequenceNumber(seq);
>> 
>> 	  std::cout<<"name befor segment: "<<nameWithSequence->toUri()<<"\n";
>> 
>> 	  nameWithSequence->appendSegment(j+1); // adding chunk number
>> 
>> 	  std::cout<<"name After segment: "<<nameWithSequence->toUri()<<"\n";
>> 	  //std::cout<<"requesting file.chunk"<<seq<<"."<<j+1<<"\n";
>> 
>> 	  //Amir: Create the interest packet
>> 	  shared_ptr<Interest> interest = make_shared<Interest>();
>> 	  interest->setNonce(m_rand->GetValue(0, std::numeric_limits<uint32_t>::max()));
>> 	  interest->setName(*nameWithSequence);
>> 
>> 	  // NS_LOG_INFO ("Requesting Interest: \n" << *interest);
>> 	  NS_LOG_INFO("> Interest for " << seq << ", Total: " << m_seq << ", face: " << m_face->getId());
>> 	  NS_LOG_DEBUG("Trying to add " << seq << " with " << Simulator::Now() << ". already "
>> 			  << m_seqTimeouts.size() << " items");
>> 
>> 	  m_seqTimeouts.insert(SeqTimeout(seq, Simulator::Now()));
>> 	  m_seqFullDelay.insert(SeqTimeout(seq, Simulator::Now()));
>> 
>> 	  m_seqLastDelay.erase(seq);
>> 	  m_seqLastDelay.insert(SeqTimeout(seq, Simulator::Now()));
>> 
>> 	  m_seqRetxCounts[seq]++;
>> 
>> 	  m_rtt->SentSeq(SequenceNumber32(seq), 1);
>> 
>> 	  m_transmittedInterests(interest, this, m_face);
>> 	  m_appLink->onReceiveInterest(*interest);
>> 
>> 	  MyConsumerZipfMandelbrot::ScheduleNextPacket();
>>   }
>> 
>> But every time I run I get an error .
>> 
>> My question is: how do I add a segment number to the interest name (highlighted line )?
>> 
>> Also, is there any problem to create a for loop to repeat the creation of interests per segments of a content as above?
>> 
>> -- 
>>    Regards
>> Prince
>> 
>> 
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20170413/3399b63c/attachment.html>


More information about the ndnSIM mailing list