[ndnSIM] InterestProcessTimeOut in NFD

Spyridon (Spyros) Mastorakis spiros.mastorakis at gmail.com
Tue Jun 9 08:17:12 PDT 2015


Hi Hitesh,

if this approach works for you, I do not see any reasons not to use it. :)

Let me elaborate on the sequence number a little bit:

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:

http://named-data.net/doc/ndn-cxx/current/doxygen/da/d3e/classndn_1_1Name.html#accf5de89558b3bd59a009cb74ceccb4d

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.

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.

--
Spyridon (Spyros) Mastorakis
Personal Website: http://cs.ucla.edu/~mastorakis/
Internet Research Laboratory
PhD Computer Science
UCLA




> On Jun 9, 2015, at 6:37 AM, Hitesh Wadekar <wadekahn at clarkson.edu> wrote:
> 
> Thank you Spyridon.
> 
> 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.
> Let me explain my thought,
> 
> 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.  
> 
> For instance, event would be called, 
> OnTimeout(shared_ptr<const Interest> interest);
> 
> Please correct me if I am wrong or going other direction.
> 
> Regards,
> Hitesh 
> 
> On Mon, Jun 8, 2015 at 11:25 AM, Spyridon (Spyros) Mastorakis <spiros.mastorakis at gmail.com> wrote:
> Hi Hitesh,
> 
> NFD is the NDN Forwarder, that is it operates somewhere between the Link and Network layers.
> 
> 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):
> 
> http://ndnsim.net/2.0/doxygen/classns3_1_1ndn_1_1Consumer.html#a5f4e5baddcb70c734c3c92e7bb4d6f38
> https://github.com/NDN-Routing/ndnSIM/blob/master/apps/ndn-consumer.cpp
> 
> Hope that this helps.
> 
> --
> Spyridon (Spyros) Mastorakis
> Personal Website: http://cs.ucla.edu/~mastorakis/
> Internet Research Laboratory
> PhD Computer Science
> UCLA
> 
> 
> 
> 
> > On Jun 8, 2015, at 8:02 AM, Hitesh Wadekar <wadekahn at clarkson.edu> wrote:
> >
> > Hello Guys,
> >
> > 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.
> >
> > I could see a function in NDN face, (ndn-cxx/face.hpp)
> >
> >   const PendingInterestId*
> >   expressInterest(const Interest& interest,
> >                   const OnData& onData, const OnTimeout& onTimeout = OnTimeout());
> >
> > But don't know how to use it or call NDF app level
> >
> > Thanks for the input.
> >
> > Thanks,
> > Hitesh
> 
> 





More information about the ndnSIM mailing list