[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