[ndnSIM] Send interest packet per segment of some content

Amir Ibrahim a.ibrahim at fci-cu.edu.eg
Thu Apr 13 08:26:18 PDT 2017


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> 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/
> Internet Research Laboratory
> Computer Science Department
> UCLA
>
> On Apr 12, 2017, at 7:08 PM, Amir Ibrahim <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
>
>
>
>


-- 
   Regards
Amir I. Mohamad
Assistant Lecturer
Faculty of Computers & Information
IT Dept. Cairo University

-- 

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


More information about the ndnSIM mailing list