
Boris wrote:
I think sockets should be hidden. They are not universally used, for example Mac OS9 doesn't and I just assume others exist. They don't have any magical powers; they are just a C abstraction. A C++ abstraction should replace them.
Opinions seem to vary on this. When I once proposed to build a C++ network abstraction with I/O streams I got complaints that it should be possible to use sockets directly in a lower level. Whatever you write the other group will join the thread and complain. :)
As I recollect the discussions and the general opinions there has been some agreement that at level 1 there should be a thin wrapper on top of the socket api since a lot of developers knows these apis and it would be beneficial to have them in a C++ wrapper (with exceptions, RAII and a more modern interface). /Michel