[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