[ndnSIM] Incompatibility between ndnSIM EventId and NLSR EventId.

Anil Jangam anilj.mailing at gmail.com
Tue May 26 20:54:26 PDT 2015


Hi Vince,

For now, I have replaced the EventId in NLSR with that of used in ndnSIM. I
am able to continue with this for now, and shall look into more generic
solution as you mentioned later. Will keep a note of it.

After this, I could see the events getting scheduled in the debug logs.

/anil.


On Tue, May 26, 2015 at 8:30 AM, Vince Lehman (vslehman) <
vslehman at memphis.edu> wrote:

>  Hi Anil,
>
>  I don’t have any experience with ndnSim, but it looks like NFD uses a
> wrapper around the ndnSim scheduler. One option would be making a generic
> interface for the scheduler in NLSR that can be used in both the real NLSR
> implementation as well as the ndnSim version. The implementation file for
> the scheduler can then differ between the versions; the simulator version
> uses the ns3 scheduler and the real version uses the ndn-cxx scheduler.
>
> --
>  Vince Lehman
>
>  On May 25, 2015, at 1:05 AM, Anil Jangam <anilj.mailing at gmail.com> wrote:
>
>  Hi,
>
>  I am facing an incompatibility between the EventId used by scheduler in
> ndnSIM and EventId used by scheduler in NLSR.
>
>  The background to this problem is as follows:
>
>    - I am porting NLSR to the ndnSIM and trying to replace the NLSR
>    specific event scheduler with that of ndnSIM event scheduler.
>    - 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.
>    - Now, there is a difference between the EventId in simulator and the
>    one used in NLSR
>
>  NLSR EventID implementation is:
>
>  namespace ndn {
> namespace util {
> namespace scheduler {
>
>  struct EventIdImpl;
>
>  typedef shared_ptr<EventIdImpl> EventId;
>  } // scheduler
> } // util
> } // ndn
>
>
>  ndnSIM EventId implementation is:
>
> namespace ns3 {
>
>  class EventImpl;
>
>  class EventId {
> }
> } // ns3
>
>
>  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.
>
>  Right now, I am getting the following compile error:
>
> 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>}’
>
>
>  Assuming the change is correct, and both the EventId implementations are
> different from other, appears to be large impact on the NLSR code.
>
>  Can you provide your comments on this and what is the correct approach?
>
>  /anil.
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20150526/ae219b47/attachment.html>


More information about the ndnSIM mailing list