<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Mar 12, 2013, at 3:16 PM, Chengyu Fan <<a href="mailto:chengyu@cs.colostate.edu">chengyu@cs.colostate.edu</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><br><br><div class="gmail_quote">On Tue, Mar 12, 2013 at 3:33 PM, Alex Afanasyev <span dir="ltr"><<a href="mailto:alexander.afanasyev@ucla.edu" target="_blank">alexander.afanasyev@ucla.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><div>Hi Chengyu,</div><div><br></div><div>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: <a href="http://ndnsim.net/new-packet-formats.html" target="_blank">http://ndnsim.net/new-packet-formats.html</a>).  Would you have time to help me implementing this functionality?  </div>
</div></blockquote><div><br></div><div>Let me look into it, and discuss with you latter. </div></div></blockquote><div><br></div><div>Thanks!</div><br><blockquote type="cite"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">
<div> </div><div><br></div><div>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.</div>
<div><br></div><div>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).</div><div><br></div>
<div>---</div><div><br></div><div>About the fist question.</div><div>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.  </div>
<div><br></div><div>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): <a href="http://ndnsim.net/applications.html#dumb-requester" target="_blank">http://ndnsim.net/applications.html#dumb-requester</a></div>
<div><br></div></div></blockquote><div><br></div><div>I think the DumbRequester cannot figure out which Interest times out. Am I right? </div></div></blockquote><div><br></div><div>Yes, it simply doesn't care if interest has been satisfied or not.  So, you still need to know which one times out?  You can copy relevant code from Consumer, if you still need it.</div><div>Btw, if it is just for logging purposes, then it can also be done not in the client, but in forwarding strategy (you can track timed out PIT entries, which could be almost the same).</div><div><br></div><div>--</div><div>Alex</div><div><br></div><br><blockquote type="cite"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto; ">
<div style="word-wrap:break-word"><div></div><div>As for the sequence numbers.  Consumer-derived apps make an assumption that you would send Interest in a specified namespace (/<a href="http://ucla.edu/alex/cv" target="_blank">ucla.edu/alex/cv</a>) with sequence numbers:</div>
<div><br></div>/<a href="http://ucla.edu/alex/cv/0" target="_blank">ucla.edu/alex/cv/0</a><br>/<a href="http://ucla.edu/alex/cv/1" target="_blank">ucla.edu/alex/cv/1</a><br>/<a href="http://ucla.edu/alex/cv/2" target="_blank">ucla.edu/alex/cv/2</a><br>
/<a href="http://ucla.edu/alex/cv/3" target="_blank">ucla.edu/alex/cv/3</a><div>/<a href="http://ucla.edu/alex/cv/4" target="_blank">ucla.edu/alex/cv/4</a></div><div>...</div><div><br></div><div>(ConsumerZipfMandelbrot does not request sequentially, but still uses notion of sequence numbers.)</div>
<div><br></div><div>---</div><div>Alex</div><br><div><div><div class="h5"><div>On Mar 12, 2013, at 2:07 PM, Chengyu Fan <<a href="mailto:chengyu@cs.colostate.edu" target="_blank">chengyu@cs.colostate.edu</a>> wrote:</div>
<br></div></div><blockquote type="cite"><div><div class="h5">Sorry, here is another question: Can I set the <span style="color:navy">AnswerOriginKind</span><span style="font-size:12px;line-height:14px"> </span>bit in ndnSIM?<br>
<br><div class="gmail_quote">On Tue, Mar 12, 2013 at 2:56 PM, Chengyu Fan <span dir="ltr"><<a href="mailto:chengyu@cs.colostate.edu" target="_blank">chengyu@cs.colostate.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Alex,<div><br></div><div>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.</div>

<div>I did not find an example which does the similar thing. But I notice that <span style="background-color:rgb(250,250,250);font-family:'Lucida Grande',Verdana,Geneva,Arial,sans-serif;font-size:18px;font-weight:bold;line-height:23px">ns3::ndn::Consumer Class </span>can handle the time out, do I need to write my class to inherit it?</div>


<div><br></div><div>And I don't understand the method <a href="http://ndnsim.net/doxygen/classns3_1_1ndn_1_1_consumer.html#acdd845fd285cd7d63ea87c2e2dfa3234" style="color:rgb(104,104,104);font-weight:bold;font-family:'Lucida Grande',Verdana,Geneva,Arial,sans-serif;font-size:12px;line-height:15px" target="_blank">OnTimeout</a><span style="font-family:'Lucida Grande',Verdana,Geneva,Arial,sans-serif;font-size:12px;line-height:15px;background-color:rgb(250,250,250)"> (uint32_t sequenceNumber)</span>, what does the parameter sequenceNumber mean? </div>


<div>For example, if I send Interest for content /<a href="http://ucla.edu/alex/cv" target="_blank">ucla.edu/alex/cv</a>, and it times out, what kind of sequenceNumber is?</div><div><br></div><div>Thanks,</div><div>Chengyu</div>


</blockquote></div><br></div></div>
_______________________________________________<br>ndnSIM mailing list<br><a href="mailto:ndnSIM@lists.cs.ucla.edu" target="_blank">ndnSIM@lists.cs.ucla.edu</a><br><a href="http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim" target="_blank">http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim</a><br>
</blockquote></div><br></div></blockquote></div><br>
_______________________________________________<br>ndnSIM mailing list<br><a href="mailto:ndnSIM@lists.cs.ucla.edu">ndnSIM@lists.cs.ucla.edu</a><br>http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim<br></blockquote></div><br></body></html>