[Ns-developers] ns-3.4 action plan
Gustavo Carneiro
gjcarneiro at gmail.com
Tue Feb 3 09:37:59 PST 2009
2009/2/3 Mathieu Lacage <mathieu.lacage at sophia.inria.fr>
> On Tue, 2009-02-03 at 17:09 +0000, Gustavo Carneiro wrote:
> > 2009/2/3 Tom Henderson <tomh at tomh.org>
> >
> > > Raj Bhattacharjea wrote:
> > >
> > >
> > >> ----Object Naming System----
> > >> The names discussion has wound down, and Craig's repository is
> > >> undergoing testing for merge within a few days.
> > >>
> > >
> > > There have been two changes to the above repository recently, based on
> some
> > > discussion I had with Craig. The first is to allow the "/Names/"
> prefix to
> > > be omitted in most places, to improve readability.
> > >
> > > i.e. this used to be the required syntax:
> > > Names::Add ("/Names/server", n.Get (1));
> > >
> > > but this is also equivalent now:
> > > Names::Add ("server", n.Get (1));
> > >
> > > The only place you cannot use this shortcut is in the Config commands,
> > > because that system always expects a fully qualified path name:
> > >
> > > Config::Set ("/Names/server/eth0/Mtu", UintegerValue (1234));
> > >
> > >
> > > The second change is to allow objects to be renamed:
> > >
> > > Names::Rename ("node0", "access-point");
> > >
> > > Rename() will facilitate future auto-naming of objects. In particular,
> if
> > > helper classes are configured to name objects automatically (as I've
> > > suggested before), there may be a desire to replace an auto-generated
> name
> > > with a more meaningful name.
> > >
> > > I think that the above is ready for merge. I think it would be nice if
> we
> > > could configure the helpers to optionally add names to certain objects
> > > (particularly devices), such as a convention that all Csma NetDevices
> > > automatically end up with names like "eth0", "eth1". Attached is the
> start
> > > of a patch along these lines. I think that the auto-naming can be
> built on
> > > top of what Craig already has, in the helper classes, so I do not want
> to
> > > suggest holding the merge of what is already there to work on
> autonaming-- I
> > > am just bringing it up as food for thought.
> >
> >
> > But... NetDevices already have names, and for instance CsmaNetDevice
> names
> > are already eth0, eth1, ... by default (thanks to me). If we get two
> > netdevice names, one in "Names" and one in the netdevice itself, it will
> be
> > confusing (as much as separate L3/L2 netdefive indexes are confusing
> now).
> > I prefer to keep the existing API of NetDevice::GetName (), for the sake
> of
> > convenience and API stability, but I am ok if NetDevice::GetName () is
> > implemented to fetch the name from the Names list, just as long as we
> stick
> > to the Don't Repeat Yourself principle.
>
> The last time we talked about this, I believe that the agreement was to
> remove that method together with Channel::GetName.
What would be the new API equivalent to netdevice->GetName ()? Can someone
enlighten me? I think _that_ should be the deciding factor.
As a general comment, I think we should always try to compare before/after
code snippets before deciding to remove some API in favor of a newer one.
Otherwise it is unfair to existing users...
Thanks in advance.
--
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