[ndnSIM] Using the setExpiryTImer

Ashish Pradhan ashishpradhan1162 at gmail.com
Sat Nov 24 21:38:31 PST 2018


Can't this be done simply by making a custom strategy and using the
setExpiryTimer? If not, where is the setExpiryTimer useful?

In the documentation it is mentioned that "If the strategy wishes to
collect responses from additional upstream nodes, it should invoke
setExpiryTimer within this function to prolong the PIT entry lifetime. If a
Data arrives from another upstream during the extended PIT entry lifetime,
this trigger will be invoked again. At that time, this function must invoke
setExpiryTimer again to continue collecting more responses."
http://ndnsim.net/current/doxygen/classnfd_1_1fw_1_1Strategy.html#a97b4f1e5496c4dd08cc17b5d3d265f08

Shouldn't this simply work?

On Sun, Nov 25, 2018 at 2:31 PM Lixia Zhang <lixia at cs.ucla.edu> wrote:

>
>
> On Nov 24, 2018, at 9:20 PM, Ashish Pradhan <ashishpradhan1162 at gmail.com>
> wrote:
>
> No, the producers produces multiple data objects(not segmenting into
> multiple data packets).
>
>
> no difference: the producer knows how many total packets it produces.
>
>
>
> On Sun, Nov 25, 2018 at 2:15 PM Lixia Zhang <lixia at cs.ucla.edu> wrote:
>
>>
>> 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).
>>
>> Lixia
>>
>> 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
>>
>> setExpiryTimer documentation:
>>
>> 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> 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>
>>> 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
>>> 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/20181125/670dfe86/attachment-0001.html>


More information about the ndnSIM mailing list