[ndnSIM] Problem related to ndnSIM with Redis integration in Content-Store

Alex Afanasyev aa at CS.UCLA.EDU
Thu Feb 2 11:19:12 PST 2017

If you're trying to use an external library, then you need not just put headers in (unless it is just header-only library), but also properly link the library to the code, in this case to ndnSIM module.  You can take a look at examples in wscript in NS-3 folder, examples in waf book, and examples in waf source (the last one, in my opinion, is the best place to look).

Also. Based on the errors, I highly suspect that you not going to succeed in making Redis working with NS-3.  NS-3 is a discrete event simulator that expects that all events are scheduled and processed by the NS-3's Simulator interface.  ev_io_start is part of libev library that implements an even loop.  You can probably make code compile (e.g., by properly linking to libev), but it most likely not going to give you the expected results: some parts of the code will be working with simulated events (simulated time), some parts with real events (real time) with unpredictable interactions.  You can try to replace the even loop in redis library by NS-3's facilities (this is exactly what has been done for ndn-cxx and NFD integration), but it may be a non-trivial task.


> On Feb 2, 2017, at 11:11 AM, Mobin Ranjbar <mobinranjbar at hotmail.com> wrote:
> Hi there,
> I am going to replace Table data structure with Redis in-memory database in Content-Store for benchmarking purpose. I have downloaded a C++ client for Redis called Redox that has some .h and .hpp files. I have added #include parts in cs-entry.cpp and run ./waf. But there are some errors following below:
> ./libns3-dev-ndnSIM-debug.so: undefined reference to `ev_io_start`
> ./libns3-dev-ndnSIM-debug.so: undefined reference to `redisAsyncHandleRead`
> ./libns3-dev-ndnSIM-debug.so: undefined reference to `ev_io_stop`
> ./libns3-dev-ndnSIM-debug.so: undefined reference to `redisAsyncHandleWrite`
> `
> I figured out that it does not find those headers but I do not know where do I have to put header definition to make './waf' aware of new module. Any idea about this problem? Where should .h and .hpp files be defined? I have defined them in ndn-all.hpp but no hopes.
> Thanks for your help.
> ________
> Mobin Ranjbar
> Software Engineer, Big Data Evangelist and Startup Guy
> Co-Founder of Iran Startups <http://www.irstartups.com/>
> Founder of Shariksho <http://shariksho.com/>
> Editor in Chief at Techly.co <http://techly.co/>
> Founder of FaraFekr Technology <http://www.farafekr.co/>
> Founder of Hadoop.ir <http://hadoop.ir/>
> Founder of Big Data Watcher <http://bigdatawatcher.com/>
> Website <http://mobinranjbar.com/> | Twitter <http://twitter.com/mobinranjbar> | Linkedin <https://www.linkedin.com/in/mobinranjbar> | skype: mobinranjbar

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20170202/faf91c1a/attachment.html>

More information about the ndnSIM mailing list