[ndnSIM] Compilng error during the usage of "name.toUri()"

Muhammad Hosain Abdollahi Sabet mhasabet at gmail.com
Sun Nov 20 23:03:51 PST 2016


Actually "/prefix" is a prefix itself. Maybe it's better to getPrefix()
first, then try to Find.

Sabet

خندان باشید
با تشکر

On Mon, Nov 21, 2016 at 10:20 AM, ZHANG, Lu <lu.zhang at fuji.waseda.jp> wrote:

> Hi Guys,
>
> Thanks for your prompt answer. Yes, the Ptr<ndn::pit::Entry> entry =
> pit->Find(ns3::ndn::Name("/prefix")); part returns a NULL since Find uses
> a exact match, there is no exact "/prefix" in my PIT.
>
> Regards,
>
> Lu Zhang
>
> 2016-11-21 15:25 GMT+09:00 John Baugh <jpbaugh at umich.edu>:
>
>> Try checking if name is nullptr:
>>
>> ns3::ndn::Name name = entry-> GetPrefix();
>>
>> if(name != nullptr)
>>   name.toUri();
>> else
>>   cout<<"ooops!"<<endl;
>>
>> On Nov 21, 2016 1:18 AM, "Alex Afanasyev" <aa at cs.ucla.edu> wrote:
>>
>>>
>>> > On Nov 20, 2016, at 10:15 PM, ZHANG, Lu <lu.zhang at fuji.waseda.jp>
>>> wrote:
>>> >
>>> > Hi all,
>>> >
>>> > I would like to print out the prefix name in PIT on to screen by using
>>> the toUri() function in Name class. The topology is simple as below:
>>> >
>>> >
>>> >  *      +----------+     10Mbps      +--------+     10Mbps
>>> +----------+
>>> >  *      | consumer | <------------> | router | <------------> |
>>> producer |
>>> >  *      +----------+         10ms      +--------+          10ms
>>>  +----------+
>>> >  *
>>> >
>>> >
>>> > Part of my program is like below:
>>> >
>>> >   Ptr<ndn::Pit> pit = nodes.Get(1)->GetObject<ndn::Pit> ();
>>> >   Ptr<ndn::pit::Entry> entry = pit->Find(ns3::ndn::Name("/prefix"));
>>> >   ns3::ndn::Name name = entry-> GetPrefix();
>>> >   name.toUri();
>>> >
>>> > When executing compile command ./waf --run 1 --vis I got below output:
>>> >
>>> > Command ['/home/11/ndnSIM/ns-3/build/scratch/1',
>>> '--SimulatorImplementationType=ns3::VisualSimulatorImpl'] terminated
>>> with signal SIGSEGV. Run it under a debugger to get more information (./waf
>>> --run <program> --command-template="gdb --args %s <args>").
>>> >
>>> > Any one have clue on why this happens or how should I use the toUri()
>>> function?
>>>
>>> You can check to run the scenario in the debugger using the suggested
>>> command, but I would suspect that you're simply getting a segfault because
>>> there is no "/prefix" entry in the PIT (Find returns NULL and then you're
>>> dereferencing NULL).
>>>
>>> ---
>>> Alex
>>>
>>>
>>> _______________________________________________
>>> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20161121/fce89e13/attachment-0001.html>


More information about the ndnSIM mailing list