[Ns-bugs] [Bug 271] PacketSocketFactory should be added in the Node base class, not in InternetStackHelper

bugzilla-daemon@nsnam-www.ece.gatech.edu bugzilla-daemon at nsnam-www.ece.gatech.edu
Tue Aug 5 09:34:18 PDT 2008


http://www.nsnam.org/bugzilla/show_bug.cgi?id=271





------- Comment #2 from gjcarneiro at gmail.com  2008-08-05 12:34 -------
(In reply to comment #1)
> PacketSocketFactory is added in PacketSocketHelper if you want to only packet
> sockets on your node.

OK, this is even worse than I thought!

PacketSocketHelper should be added to the class Node.  Every node supports L2
networking, therefore every node should support L2 sockets.  It was a nasty
surprise to me to find out PacketSocketFactory was not added by default to Node
(especially since it used to be added back in ns-3.11).

> The reason it is also added to a node from
> InternetStackHelper is that we wanted to make InternetStackHelper add all the
> things it could by default.
> 
> If you want to add a flag to InternetStackHelper to disable this feature, I
> would be fine with that. Removing it altogether would be much less desirable
> because if a user relies on InternetStackHelper to add it, he will figure out
> that it is not there anymore only at runtime with a less-than-helpful message.
> 
> Updating the InternetStackHelper::Install method documentation to describe that
> the PacketSocket is also aggregated would also be nice.
> 

I hate helpers, and I always this was going to happen.  Ever since the
"helpers" layer was added to ns-3, the "internal" layers started to become
increasingly more complex because their complexity is hidden by the helpers. 
So, no one really cares about internal complexity anymore :-(

Please lets try to keep the internal classes simple to use, and not rely on
helpers so much.


-- 
Configure bugmail: http://www.nsnam.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


More information about the Ns-bugs mailing list