[ndnSIM] Strategy specific info

Muktadir R Chowdhury (mrchwdhr) mrchwdhr at memphis.edu
Tue Jan 7 12:36:04 PST 2020


Hi Zhiyi,
Thanks for your suggestion. Yes, I tried it. It did not work on ndnSIM. When I have the variable as static, whenever the variable is getting updated, it is getting updated for all the nodes in the simulation. So at a time, all the nodes have the same value for this variable.

-Muktadir
________________________________
From: Zhiyi Zhang <Zhiyi.Zhang at ucla.edu>
Sent: Tuesday, January 7, 2020 2:33 PM
To: Junxiao Shi <shijunxiao at email.arizona.edu>
Cc: Muktadir R Chowdhury (mrchwdhr) <mrchwdhr at memphis.edu>; ndnsim <ndnsim at lists.cs.ucla.edu>
Subject: Re: [ndnSIM] Strategy specific info

Hi Muktadir,

Can you add a static variable, say in your cpp file, and let your strategy class instance visit that global variable to change it?

Best,
Zhiyi

On Tue, Jan 7, 2020 at 11:00 AM Junxiao Shi <shijunxiao at email.arizona.edu<mailto:shijunxiao at email.arizona.edu>> wrote:
Hi Muktadir

Strategy is stateless. It can only attach measurements on namespaces under its control.
See Section 3.3 of original NDN paper https://named-data.net/publications/networkingnamedcontent/ for rationale of this design decision.
Thus, what you desire cannot be supported.

Yours, Junxiao

On Mon, Jan 6, 2020, 12:08 Muktadir R Chowdhury (mrchwdhr) <mrchwdhr at memphis.edu<mailto:mrchwdhr at memphis.edu>> wrote:
Hi,
I have written a strategy which needs to have states that are specific to the strategy, not to the namespace.

(1)  Lets say I have the following strategy:

NFD_REGISTER_STRATEGY(CustomStrategy);

class CustomStrategy : Strategy {

void
afterReceiveInterest() {
 cout << "v=" <<v << endl;
 v ++;
}

private:
 int v = 0;
}

I want the variable "v" to be Strategy specific.

(2) I set CustomStrategy for two prefixes, lets say "/a" and '/b".

(3) I send two interests under "/a", lets say "/a/1" and "/a/2". The value of "v" should be 2.
    v=0 and v=1 should be printed.

(4) Now I send one interest under "/b" ("/b/1"). I was expecting it to print v=2. But it printed v=0.

I guess the reason is , for two different namespace ("/a" and "/b"), two different instances of CustomStrategy is created. I have also tried adding this Strategy specific info in the Measurement Table, like it is done in ASF strategy<https://github.com/named-data/NFD/blob/master/daemon/fw/asf-measurements.hpp> But find out for different namespace, measurement entries are different. Can anyone give me suggestions what can I do here?

Muktadir Chowdhury
University of Memphis


_______________________________________________
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20200107/4ab3e875/attachment-0001.html>


More information about the ndnSIM mailing list