<div>Hi John</div><div><br></div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>Is there any way to resolve this without having to rename everything?  It's quite a pain.</div></div></blockquote><div>NFD has recently added "strategy parameters" which allows the caller to pass a parameter to the strategy constructor in the form of a name component. I do not know whether this feature has hit ndnSIM yet. If so, you can avoid duplicating the strategy, but let it change behavior according to the parameter.</div><div>Otherwise, another trick I used previously is to pass the parameter as an environment variable.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div></div></div></blockquote><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><br></div><div>My jpb-pop2 ONLY USES PStrat2 class.  There are no PStrat class references anywhere.  BUT when I run this scenario, I'm getting output indicating that BOTH my PStrat and PStrat2 constructors are being called, as well as destructors.</div></div></blockquote><div>There's no need to worry about this. Every Strategy subclass object is expected to be stateless. Strategy can only store states in Measurements and other tables. Therefore, forwarding behavior would not change no matter how many Strategy instances are constructed.</div><div>You may be able to find out what is calling your constructor by setting a breakpoint in GDB.</div><div><br></div><div>Yours, Junxiao</div></div></div>