[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