<div dir="ltr"><div>Hi,</div><div><br></div><div>I am facing an incompatibility between the EventId used by scheduler in ndnSIM and EventId used by scheduler in NLSR. </div><div><br></div><div>The background to this problem is as follows:</div><div><ul><li>I am porting NLSR to the ndnSIM and trying to replace the NLSR specific event scheduler with that of ndnSIM event scheduler. <br></li><li>ndnSIM provides a single scheduler interface so that all the event generated by the ndn application can be put into the event queue for processing.<br></li><li>Now, there is a difference between the EventId in simulator and the one used in NLSR<br></li></ul></div><div><span class="" style="white-space:pre"> </span>NLSR EventID implementation is: </div><div><br></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><span class="" style="white-space:pre">     </span>namespace ndn {</div><div><span class="" style="white-space:pre">    </span>namespace util {</div><div><span class="" style="white-space:pre">   </span>namespace scheduler {</div><div><br></div><div><span class="" style="white-space:pre">     </span>struct EventIdImpl;</div><div><br></div><div><span class="" style="white-space:pre">       </span>typedef shared_ptr<EventIdImpl> EventId;</div><div><span class="" style="white-space:pre">     </span></div><div><span class="" style="white-space:pre">   </span>} // scheduler</div><div><span class="" style="white-space:pre">     </span>} // util</div><div><span class="" style="white-space:pre">  </span>} // ndn</div></blockquote><div><br></div><div><span class="" style="white-space:pre">       </span>ndnSIM EventId implementation is:</div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><span class="" style="white-space:pre">      </span>namespace ns3 {</div><div><br></div><div><span class="" style="white-space:pre">           </span>class EventImpl;</div><div><br></div><div><span class="" style="white-space:pre">          </span>class EventId {</div><div><span class="" style="white-space:pre">            </span>}</div><div><span class="" style="white-space:pre">  </span>} // ns3</div></blockquote><div><br></div><div>Using the scheduler in ndnSIM to replace the scheduler in NLSR, perhaps may not be a correct approach. Or perhaps it is the right approach, and we might have to change NLSR code. I am not able to decide. </div><div><br></div><div>Right now, I am getting the following compile error: </div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div>nlsr/lsdb.cpp:80:9: error: could not convert ‘event’ from ‘ns3::EventId’ to ‘ndn::util::scheduler::EventId {aka std::shared_ptr<ndn::util::scheduler::EventIdImpl>}’</div></blockquote><div><br></div><div>Assuming the change is correct, and both the EventId implementations are different from other, appears to be large impact on the NLSR code. </div><div><br></div><div>Can you provide your comments on this and what is the correct approach?</div><div><br></div><div>/anil.</div><div><br></div></div>