[ndnSIM] Using the setExpiryTImer

Lixia Zhang lixia at cs.ucla.edu
Sat Nov 24 21:15:26 PST 2018

> On Nov 24, 2018, at 4:08 PM, Ashish Pradhan <ashishpradhan1162 at gmail.com> wrote:
> Hi Xinyu,
> Thank you for your reply.
> I am fully aware of the One-Interest-One-Data behavior. However, I have a custom app(a producer) where it produces multiple data for a single interest.

I would like to better understand what is going on here: do you mean the producer app generates a data object which needs to be segmented into multiple data packets?

If so: yes one can find a way to hack the code to allow the bread crumb of one Interest to retrieve multiple data packets, but it is unclear to me a good idea to use across a network 
(one interest can retrieve the first data packet, which can carry "FinalBlockId" to inform the consumer how many more data packets to fetch).


> Then I want all the produced data to reach the consumer. So for that, I am implementing a custom strategy where the PIT entry lifetime of the nodes are extended after it receives the first data from the producer. I have followed the ndnSIM API documentation for it. 
> beforeSatisfyInterest documentation:
> http://ndnsim.net/current/doxygen/classnfd_1_1fw_1_1Strategy.html#a97b4f1e5496c4dd08cc17b5d3d265f08 <http://ndnsim.net/current/doxygen/classnfd_1_1fw_1_1Strategy.html#a97b4f1e5496c4dd08cc17b5d3d265f08>
> setExpiryTimer documentation:
> http://ndnsim.net/current/doxygen/classnfd_1_1fw_1_1Strategy.html#a967ad88184231f79b245ce202e9d4ea7 <http://ndnsim.net/current/doxygen/classnfd_1_1fw_1_1Strategy.html#a967ad88184231f79b245ce202e9d4ea7>
> Best regards,
> Ashish Pradhan
> On Sun, Nov 25, 2018 at 2:21 AM Xinyu Ma <bitmxy at gmail.com <mailto:bitmxy at gmail.com>> wrote:
> Hello, Pradhan
> I’m sorry I don’t understand why you want to extend the PIT entry’s lifetime and what you mean by “data response other than the first one”.
> NDN follows One-Interest-One-Data, so the PIT entry should be deleted after receiving the data.
> You can send another Interest if you still want the PIT entry to be there.
> Best,
> Xinyu Ma.
>> On Nov 24, 2018, at 6:20 AM, Ashish Pradhan <ashishpradhan1162 at gmail.com <mailto:ashishpradhan1162 at gmail.com>> wrote:
>> Hi all,
>> I am trying to use the setExpiryTimer to extend the PIT entry's lifetime. However the data response other than the first one is not being forwarded back to the consumer. I have included the setExpiryTimer in the beforeSatisfyInterest function as follows:
>> "NFD_LOG_DEBUG("beforeSatisfyInterest pitEntry=" << pitEntry->getName() <<
>>                 " inFace=" << inFace.getId() << " data=" << data.getName());
>>   this->Strategy::setExpiryTimer(pitEntry, ndn::time::milliseconds(100));"
>> Is there any thing that needs to be added?
>> After looking at the sendData function there is this line "pitEntry->deleteInRecord(outFace);". If it is deleting the inRecord how does the setExpiryTimer help to preserve the entry?
>> Best regards,
>> Ashish Pradhan
>> _______________________________________________
>> ndnSIM mailing list
>> ndnSIM at lists.cs.ucla.edu <mailto:ndnSIM at lists.cs.ucla.edu>
>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim <http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim>
> _______________________________________________
> 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/20181124/9e4663e0/attachment.html>

More information about the ndnSIM mailing list