[ndnSIM] declaring a variable in ndn-forwarding-strategy

Alex Afanasyev alexander.afanasyev at ucla.edu
Wed Dec 18 13:19:24 PST 2013


Hi Isuru,

You may be having a code inconsistency effect.  Did you install the modified and compiled NS-3 code and recompiled the scenario code afterwards?   If so, are you using the same model (debug or optimized) in both?

I had similar problem when I accidentally installed debug version of NS-3 (and I had previously installed optimized version of unmodified NS-3), then compiled scenario in optimized mode.   Everything got compiled (the header files are correct), but then I was getting run time errors (the actual library is wrong).

---
Alex

On Dec 17, 2013, at 5:02 AM, i.liyanage at surrey.ac.uk wrote:

> Hi Alex,
> 
> I tried writing the code in ndnSIM/apps folder and it worked fine.
> 
> But when I use the same code in scenario folder (used scenario template of yours) it fails as i mentioned. 
> 
> It must be something regarded to the scenario template.....
> As if I include the file "ns3/ndn-forwarding-strategy.h" it says my variable(set container) is not defined, 
> ../extensions/testsimple.cc:109:19: error: ‘class ns3::ndn::ForwardingStrategy’ has no member named ‘m_allowCS’
> so I have to include the complete path to the above header file. Then it compiles fine. but end abruptly. 
> 
> 
> In the terminal I just want to confirm whether the program works by looking at the log messages.
> 
> I attached the following files which I modified.
> ../scenario/extensions/testsimple.h         -       modified from ndn-producer
> ../scenario/extensions/testsimple.cc
> ../scenario/scenarios/simple.cc               -       modified from ndn-simple
> 
> ndnSIM/model/fw/ndn-forwarding-strategy.h
> ndnSIM/model/fw/ndn-forwarding-strategy.cc
> 
> Many Thanks,
> Isuru
> From: Alexander Afanasyev <cawka1 at gmail.com> on behalf of Alex Afanasyev <alexander.afanasyev at ucla.edu>
> Sent: 16 December 2013 21:30
> To: Liyanage IU Mr (PG/R - Electronic Eng)
> Cc: ndnsim
> Subject: Re: [ndnSIM] declaring a variable in ndn-forwarding-strategy
>  
> Hi Isuru,
> 
> I have tried to follow your implementation (added set container in the forwarding strategy and the added a prefix in StartApplication).  Everything worked as expected.
> 
> If you can share your code, I can try to run it and see what is wrong.
> 
> Btw. What are you expecting to see on the terminal?
> 
> ---s
> Alex
> 
> On Dec 16, 2013, at 12:37 PM, <i.liyanage at surrey.ac.uk> <i.liyanage at surrey.ac.uk> wrote:
> 
>> Hi Alex,
>> 
>> I compiled without the -d optimized and ran without the visualizer. 
>> Then it just compile and nothing is displayed in the terminal.
>> 
>> I entered the code in StartApplication() function.
>> 
>> I was trying to build a collaborative caching application.
>> 
>> Ptr<ForwardingStrategy> forwardingstat = GetNode()->GetObject<ForwardingStrategy>();
>> Ptr<Name> inName = Create<ndn::Name> ("/prefix/thisfix/");
>> forwardingstat->addAllowCS(inName);
>> 
>> If I comment out the third line(line in red) it works fine.
>> 
>> Many Thanks,
>> Isuru
>> From: Alexander Afanasyev <cawka1 at gmail.com> on behalf of Alex Afanasyev <alexander.afanasyev at ucla.edu>
>> Sent: 16 December 2013 19:47
>> To: Liyanage IU Mr (PG/R - Electronic Eng)
>> Cc: ndnsim
>> Subject: Re: [ndnSIM] declaring a variable in ndn-forwarding-strategy
>>  
>> Hi Isuru,
>> 
>> Are you running simulation in the visualizer?  Try to run without it and in debug mode (in case you have compiled with ./waf configure -d optimized, re-compile with ./waf configure -d debug or just ./waf configure).
>> 
>> The variable declaration seems right.  The problem that I could think of is that you're trying to use it in application's constructor, when neither Node() nor strategy objects are not yet set.
>> 
>> Btw. What the effect you're trying to achieve?  Normally (in "real world") applications cannot directly communicate with the forwarding daemon.  Or is it something that is simulation-specific?
>> 
>> ---
>> Alex
>> 
>> On Dec 16, 2013, at 11:43 AM, <i.liyanage at surrey.ac.uk> <i.liyanage at surrey.ac.uk> wrote:
>> 
>>> Hi Alex,
>>> 
>>> It terminates without anything once I click the simulate button. 
>>> I will try with the debugger as well.
>>> 
>>> Could you suggest me a way to declare this kind of variable which could be accessed in both forwadingStrategy class and in an application.
>>> 
>>> Many Thanks,
>>> Isuru
>>> From: Alexander Afanasyev <cawka1 at gmail.com> on behalf of Alex Afanasyev <alexander.afanasyev at ucla.edu>
>>> Sent: 16 December 2013 19:26
>>> To: Liyanage IU Mr (PG/R - Electronic Eng)
>>> Cc: ndnsim
>>> Subject: Re: [ndnSIM] declaring a variable in ndn-forwarding-strategy
>>>  
>>> Is it just terminates without any output or terminates with an error?
>>> 
>>> If it is an error, then try to run in a debugger, so you can see what exactly is causing the error.  For example,
>>> 
>>> ./waf --run <scenario> --command-template 'gdb --args %s'
>>> 
>>> ---
>>> Alex
>>> 
>>> On Dec 15, 2013, at 10:17 AM, <i.liyanage at surrey.ac.uk> <i.liyanage at surrey.ac.uk> wrote:
>>> 
>>>> Hi,
>>>> 
>>>> In ndn-forwading-strategy.h, I declared variable.
>>>> std::set<Name>  m_allowCS;
>>>> 
>>>> and tried to access in one of the applications by following code
>>>> Ptr<ForwardingStrategy> forwardingstat = GetNode()->GetObject<ForwardingStrategy>();
>>>> Ptr<Name> inName = Create<ndn::Name> ("/prefix");
>>>> forwardingstat->m_allowCS.insert(*inName);
>>>> 
>>>> This compiles fine.
>>>> but once I run this, simulator exit without any output. Could you point out what's wrong.
>>>> 
>>>> Many Thanks,
>>>> Isuru
>>>> _______________________________________________
>>>> ndnSIM mailing list
>>>> ndnSIM at lists.cs.ucla.edu
>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>>> 
>>> _______________________________________________
>>> ndnSIM mailing list
>>> ndnSIM at lists.cs.ucla.edu
>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
> 
> <ndn-forwarding-strategy.cc><ndn-forwarding-strategy.h><testsimple.cc><testsimple.h><simple.cc>

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


More information about the ndnSIM mailing list