[Ndn-interest] Delay forwarding in fw strategy

Klaus Schneider klaus at cs.arizona.edu
Fri Jul 14 08:19:43 PDT 2017

On 07/13/2017 08:47 PM, Adhy Satya wrote:
> Hi Junxiao,
> Thank you for your answer. I missed that detail on the NFD developer 
> guide (that the strategy controls only Interests packets).
> In my case, each data packet is associated with a unique Interest; 
> therefore, by adopting an Interest digest the strategy should be able to 
> control Data packets. 

You can use the function beforeSatisfyInterest() that is called whenever 
a Data packet arrives. Thus you can perform certain actions (like 
storing RTT measurements) on each Data packet. You just cannot:

1. Send the Data to a different interface. Or

2. Delay the Data packet.

> Was this feature ever implemented? (it shows as 0% 
> done in issue 3333 <https://redmine.named-data.net/issues/3333>). Are 
> there any sample implementations?

One could design the strategy so that beforeSatisfyInterest() is a 
mandatory step in the pipeline between "incoming Data" and "outgoing 
Data". This would extend the functionality and probably support what you 

However, the strategy was not designed that way (presumably) because 
nobody saw a use case.

For (1): why would anyone want to send the Data to a different face? It 
would be dropped there as "unsolicited".

For (2): why do you want to delay the Data inside the strategy? Maybe 
there's an easier solution for you like

- delaying Data/Interests at consumer or producer. Or
- delaying the Interests inside the strategy.

Best regards,

> Thanks
> On Thu, Jul 13, 2017 at 4:45 PM, Junxiao Shi 
> <shijunxiao at email.arizona.edu <mailto:shijunxiao at email.arizona.edu>> wrote:
>     Hi Adhy
>     The method to delay Interest forwarding is explained in this answer:
>     http://www.lists.cs.ucla.edu/pipermail/ndnsim/2017-July/003952.html
>     <http://www.lists.cs.ucla.edu/pipermail/ndnsim/2017-July/003952.html>
>     Forwarding strategy does not have control over Data forwarding nor
>     can it delay Data forwarding. The reason is explained in this
>     answer:
>     http://www.lists.cs.ucla.edu/pipermail/ndnsim/2017-July/003961.html
>     <http://www.lists.cs.ucla.edu/pipermail/ndnsim/2017-July/003961.html>
>     Also, you need to ensure your Interest name (including any “extra
>     name components”) is a prefix of the Data name. Otherwise, Data does
>     not satisfy Interest and will not be received by the consumer.
>     Yours, Junxiao
>>     On Jul 13, 2017, at 11:43 AM, Adhy Satya <adhysatya820 at gmail.com
>>     <mailto:adhysatya820 at gmail.com>> wrote:
>>     Hi,
>>     My consumer and producer applications send Interest and Data
>>     packets with extra name components. I wrote a custom forwarding
>>     strategy that reads this name components and forward packets with
>>     certain delay.
>>     I'm using NFD 0.5.0 and ndn-cxx 0.5.0. I'm unsure where to
>>     implement the timer. It seems that if I implement a timer to call
>>     "this->sendInterest()" it will block the forwarder for a certain
>>     amount of time.
>>     Can you assist me on this issue please?
>>     Thank you
>>     _______________________________________________
>>     Ndn-interest mailing list
>>     Ndn-interest at lists.cs.ucla.edu <mailto:Ndn-interest at lists.cs.ucla.edu>
>>     http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest
>>     <http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest>
> _______________________________________________
> Ndn-interest mailing list
> Ndn-interest at lists.cs.ucla.edu
> http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest

More information about the Ndn-interest mailing list