[ndnSIM] How to control the Consumer behavior when an Interest times out?

Chengyu Fan chengyu at cs.colostate.edu
Tue Mar 12 15:16:13 PDT 2013

On Tue, Mar 12, 2013 at 3:33 PM, Alex Afanasyev <
alexander.afanasyev at ucla.edu> wrote:

> Hi Chengyu,
> About your last question.  I "temporarily" broke the functionality to
> configure Selectors (which AnswerOriginKind is part of), but it can be
> relatively easy added back.  The main reason for this regression is that I
> wanted to have a packet format that incurs lesser overhead (you can check
> out the current packet format used by ndnSIM here:
> http://ndnsim.net/new-packet-formats.html).  Would you have time to help
> me implementing this functionality?

Let me look into it, and discuss with you latter.

> Btw. There is always an option to revert back to CCNx-compatible format
> (old files are in disabled/ folder), but I was planning to have an option
> to select packet format in the next (major) release of ndnSIM.
> Another btw.  After "re-adding" the ability to set AnswerOriginKind, there
> is also a need to implement logic of this selector in the forwarding
> strategy (not currently there).
> ---
> About the fist question.
> ns3::ndn::Consumer is a very simplified implementation of the consumer and
> in your case you may want to implement a completely separated Consumer
> application (derived from ndn::App),  taking the existing one as a base for
> the implementation.  This way you going to have full control on what is
> happening.
> If the only functionality that you want is to send Interests and do not
> retransmit ones that timed out, you can try to use a consumer similar to
> DumbRequester from examples (examples/custom-apps/dumb-requester.h/cc):
> http://ndnsim.net/applications.html#dumb-requester
I think the DumbRequester cannot figure out which Interest times out. Am I

> As for the sequence numbers.  Consumer-derived apps make an assumption
> that you would send Interest in a specified namespace (/ucla.edu/alex/cv)
> with sequence numbers:
> /ucla.edu/alex/cv/0
> /ucla.edu/alex/cv/1
> /ucla.edu/alex/cv/2
> /ucla.edu/alex/cv/3
> /ucla.edu/alex/cv/4
> ...
> (ConsumerZipfMandelbrot does not request sequentially, but still uses
> notion of sequence numbers.)
> ---
> Alex
> On Mar 12, 2013, at 2:07 PM, Chengyu Fan <chengyu at cs.colostate.edu> wrote:
> Sorry, here is another question: Can I set the AnswerOriginKind bit in
> ndnSIM?
> On Tue, Mar 12, 2013 at 2:56 PM, Chengyu Fan <chengyu at cs.colostate.edu>wrote:
>> Hi Alex,
>> I want to control the Consumer behavior when an Interest times out: when
>> an Interest times out, the consumer must ignore it, and send another
>> Interest.
>> I did not find an example which does the similar thing. But I notice that ns3::ndn::Consumer
>> Class can handle the time out, do I need to write my class to inherit it?
>> And I don't understand the method OnTimeout<http://ndnsim.net/doxygen/classns3_1_1ndn_1_1_consumer.html#acdd845fd285cd7d63ea87c2e2dfa3234> (uint32_t
>> sequenceNumber), what does the parameter sequenceNumber mean?
>> For example, if I send Interest for content /ucla.edu/alex/cv, and it
>> times out, what kind of sequenceNumber is?
>> Thanks,
>> Chengyu
> _______________________________________________
> ndnSIM mailing list
> ndnSIM at lists.cs.ucla.edu
> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20130312/fd59e3ec/attachment.html>

More information about the ndnSIM mailing list