
Michel André wrote:
[...] Wish I had ;). Actually I don't think there should be a specific inheritance hierarchy (I don't really see what benefits it would do for developers familiar with sockets). On level 0 just the class socket that mimicks berkely sockets quite closely but only adds raii and unified error reporting and exception based. (Or as in giallo http://cvs.sourceforge.net/viewcvs.py/giallo/giallo/boost/net/socket/socket....) [...] You get the idea.
Yes, we have such a socket class in .NET, too (see http://www.highscore.de/boost/net/dotnetsockets.png). Currently I have no strong opinion if a socket hierarchy is better. However as we have different socket types with different behavior it might be reasonable to create different classes. But if they distinguish only slightly it's probably not worth the effort. I'll think about the interfaces and add some more methods. If in the end all classes look basically the same it makes sense to merge them into one socket class.
[...] I also think there is another fundamental question, should we go the route proposed in giallo which is template based or a more ineritance/interface based approach?
As far as I have seen in the Wiki Hugo used templates for protocols and addresses. Could there be any other use for templates? Maybe I can answer this question myself when I extend the socket hierarchy and try to add protocols and addresses somehow. Boris