[Ns-developers] [ns3] topology API
Mathieu Lacage
mathieu.lacage at sophia.inria.fr
Tue Jan 15 11:03:20 PST 2008
On Tue, 2008-01-15 at 17:14 +0000, Gustavo Carneiro wrote:
> > This example seems a bit inconsistent. On one hand you have
> > container.Add (mobility.GetByBoundingBox (...)), on the
> other hand
> > application.AddOnOff(container, ...), two different
> styles... which
> > one is it?
>
> I am not really sure I understand this comment: I fail to see
> what is
> different between these two styles:
> - GetByBoundingBox returns a NodeContainer and we invoke
> NodeContainer::Add (const NodeContainer & c) to add it to the
> original
> container.
>
> OK, I completely missed the point of "mobility.GetByBoundingBox" :|
> Something doesn't add up. Why 'mobility.GetByBoundingBox()'?
> Shouldn't it be a function or static method, rather than an instance
> method? And what does it have to do with "mobility"? So, yes, I
> agree with the idea, but the naming is not so good and got me
> confused. Yes, I get easily confused, I know :P
>
> It should have been a GetNodesInsideBoundingBox function, not method.
> And IMHO this sort of API is not needed in NS-3 and can even be
> distracting. But, well, apparently I'm the only one who thinks that
> way, so...
I don't have a definite answer here: I understand your concerns and I
partly agree with them. I don't like very much either solution myself.
[snip]
> Sure. The goal, here, however, is to provide syntactical
> conveniance. If
> you want "simplicity", you can use the low-level API.
>
> Fine, but we need to be careful to make sure that NS-3 does not become
> like some systems where there is a nice and easy frontend that does
> common things, but when you want something less common you have to go
> to a lower layer where everything is incredibly complex and
> unforgiving to small errors. In some ways NS-2 is like that: you
> start softly with oTCL, but to do real research you have to go to the
> C++ level and start hacking it. If we start relying too much on high
> level interfaces I am afraid we might unconsciously start neglecting
> the intermediate layers because the front end hides the "uglyness"
> inside.
>
> I am not saying this is the case _now_, just something that may
> happen in the future, to be aware of.
Yes, I agree. We need to be careful.
[snip]
> > Finally I prefer the naming NodeGroup rather than
> NodeContainer
> > because container sounds like simulating a physical entity
> that
> > actually contains nodes, while group is obviously a purely
> logical
> > entity.
>
> I don't really agree but I don't feel very strongly about it.
>
> I don't feel very strongly about it either.
Another option is NodeSet.
Mathieu
More information about the Ns-developers
mailing list