<div dir="ltr"><div>That's really great explanation Spyridon. I got a small picture about sequence :). <br></div><div><br></div><div>Let me think how to incorporate it.<br></div><div><br></div><div>Also, I am still searching or exploring how to use OnTime with interest name packet approach. I  will update you based on my solution.</div><div><br></div><div>Regards,</div><div>Hitesh  <br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jun 9, 2015 at 11:17 AM, Spyridon (Spyros) Mastorakis <span dir="ltr"><<a href="mailto:spiros.mastorakis@gmail.com" target="_blank">spiros.mastorakis@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Hitesh,<br>
<br>
if this approach works for you, I do not see any reasons not to use it. :)<br>
<br>
Let me elaborate on the sequence number a little bit:<br>
<br>
the sequence number is just a way to distinguish among the multiple segments of a file (i.e., name prefix — at least that is the way I think of it). You can keep the sequence number and remove it after the transmission using the the getPrefix method of the name class:<br>
<br>
<a href="http://named-data.net/doc/ndn-cxx/current/doxygen/da/d3e/classndn_1_1Name.html#accf5de89558b3bd59a009cb74ceccb4d" target="_blank">http://named-data.net/doc/ndn-cxx/current/doxygen/da/d3e/classndn_1_1Name.html#accf5de89558b3bd59a009cb74ceccb4d</a><br>
<br>
We used the sequence number as a way to specify which segment of the file has not been retrieved and request again only the specific segment. If you are planning to retrieve a single data packet for each name prefix, then you do not need a sequence number.<br>
<br>
In general, I do not see the sequence number as a limitation or problem, as: 1) it can be removed/added any time, 2) the Interest forwarding is being performed based on the longest name prefix match principle.<br>
<span class="im HOEnZb"><br>
--<br>
Spyridon (Spyros) Mastorakis<br>
Personal Website: <a href="http://cs.ucla.edu/~mastorakis/" target="_blank">http://cs.ucla.edu/~mastorakis/</a><br>
Internet Research Laboratory<br>
PhD Computer Science<br>
UCLA<br>
<br>
<br>
<br>
<br>
</span><div class="HOEnZb"><div class="h5">> On Jun 9, 2015, at 6:37 AM, Hitesh Wadekar <<a href="mailto:wadekahn@clarkson.edu">wadekahn@clarkson.edu</a>> wrote:<br>
><br>
> Thank you Spyridon.<br>
><br>
> I have gone through all these. However, they are tracking interest based on sequence number, same case for OnTimeout as well. In my case, I am not generating any sequences, its simple interest to neighbor.<br>
> Let me explain my thought,<br>
><br>
> I already customized consumer app to simple interest to neighbor without any sequences, so I am simple looking an event for OnTimeout where it will tell me which interest for it timed out rather than sequence number.<br>
><br>
> For instance, event would be called,<br>
> OnTimeout(shared_ptr<const Interest> interest);<br>
><br>
> Please correct me if I am wrong or going other direction.<br>
><br>
> Regards,<br>
> Hitesh<br>
><br>
> On Mon, Jun 8, 2015 at 11:25 AM, Spyridon (Spyros) Mastorakis <<a href="mailto:spiros.mastorakis@gmail.com">spiros.mastorakis@gmail.com</a>> wrote:<br>
> Hi Hitesh,<br>
><br>
> NFD is the NDN Forwarder, that is it operates somewhere between the Link and Network layers.<br>
><br>
> As far as the application layer timeouts, you should modify the code of the consumer application under the "/apps” directory (or create your own consumer application). Specifically, for this purpose, we have the OnTimeout method and some other methods to handle the retransmission timer (e.g., GetRetxTimer, CheckRetxTimeout, SetRetxTimer):<br>
><br>
> <a href="http://ndnsim.net/2.0/doxygen/classns3_1_1ndn_1_1Consumer.html#a5f4e5baddcb70c734c3c92e7bb4d6f38" target="_blank">http://ndnsim.net/2.0/doxygen/classns3_1_1ndn_1_1Consumer.html#a5f4e5baddcb70c734c3c92e7bb4d6f38</a><br>
> <a href="https://github.com/NDN-Routing/ndnSIM/blob/master/apps/ndn-consumer.cpp" target="_blank">https://github.com/NDN-Routing/ndnSIM/blob/master/apps/ndn-consumer.cpp</a><br>
><br>
> Hope that this helps.<br>
><br>
> --<br>
> Spyridon (Spyros) Mastorakis<br>
> Personal Website: <a href="http://cs.ucla.edu/~mastorakis/" target="_blank">http://cs.ucla.edu/~mastorakis/</a><br>
> Internet Research Laboratory<br>
> PhD Computer Science<br>
> UCLA<br>
><br>
><br>
><br>
><br>
> > On Jun 8, 2015, at 8:02 AM, Hitesh Wadekar <<a href="mailto:wadekahn@clarkson.edu">wadekahn@clarkson.edu</a>> wrote:<br>
> ><br>
> > Hello Guys,<br>
> ><br>
> > Do we have a function in NFD at app level such as InterestTimeOut()? like if I send an interest and if we didn't get any response of that interest then we should get a notification (event) InterestTimeOut.<br>
> ><br>
> > I could see a function in NDN face, (ndn-cxx/face.hpp)<br>
> ><br>
> >   const PendingInterestId*<br>
> >   expressInterest(const Interest& interest,<br>
> >                   const OnData& onData, const OnTimeout& onTimeout = OnTimeout());<br>
> ><br>
> > But don't know how to use it or call NDF app level<br>
> ><br>
> > Thanks for the input.<br>
> ><br>
> > Thanks,<br>
> > Hitesh<br>
><br>
><br>
<br>
</div></div></blockquote></div><br></div>