[Ns-developers] [ns3] trace path documentation

Gustavo Carneiro gjcarneiro at gmail.com
Sat Apr 12 08:26:26 PDT 2008


On 12/04/2008, Mathieu Lacage <mathieu.lacage at sophia.inria.fr> wrote:
>
>
> On Sat, 2008-04-12 at 16:11 +0100, Gustavo Carneiro wrote:
>
> >
> >         >   - while working on this code, it occured to me that there
> >         are some
> >         > ways to somewhat "simplify" the config paths to make them
> >         more
> >         > consistent. For example, the following would be (I think)
> >         much more
> >         > consistent:
> >         > /NodeList/*/$MobilityModel
> >         > to:
> >         > /ns3::NodeListPriv::NodeList/*/ns3::MobilityModel
> >         >
> >         > Basically, we could request the user to specify explicitely
> >         each
> >         > attribute with a typeid.
> >
> > This kind of stuff makes me very uneasy.  Sure it makes NS-3's job
> > more easy, but makes the life of NS-3 users much harder.  Who will
>
>
> The goal is not to make the implementation simpler here (it would not):
> it is to make it easier to explain how these paths are constructed. I
> have found it _really_ hard to explain the current structure in less
> than 2 pages so, while, the proposed structure here is uglier, I believe
> that it is easier to explain in a simple way.
>
>
> >  ever remember a name like "ns3::NodeListPriv::NodeList"?  Or do you
>
>
> Well, it is really easy: typeid + "::" + attribute name. typeid == c++
> classname and users should know the attribute name. So, the above is
> long, but it is very descriptive and easy to construct from what users
> know, that is, the c++ class name and attribute name.


But the users do not know the class name.  NodeListPriv is a hidden class;
does not even appear in any header file.

>  expect that people can only program NS-3 by copy-pasting from
> > examples?  That would be a shame...
>
>
> No, they copy/paste the path strings from the documentation. i.e., if
> you look at the generated doxygen for ns-3-doc, you will see that each
> type now documents the paths it is accessible from.
>
>
> > In addition, I thought NS-3 API was supposed to start stabilizing
> > already.  Changing an interface that is only matched in run time,
> > especially one in which a mis-match is silently ignored, and
> > especially making users use names of private classes, is not the way
> > to go IMHO.
>
>
> That is certainly a good point.
>
>
> Mathieu
>
>
>


-- 
Gustavo J. A. M. Carneiro
INESC Porto, Telecommunications and Multimedia Unit
"The universe is always one step beyond logic." -- Frank Herbert


More information about the Ns-developers mailing list