
Boris wrote:
Giovanni P. Deretta wrote:
[...] I've have seen that the current consens is to encode the the stream type in the address, so to allow a dynamic behaviour: the actual transport is selected only at runtime, based on the address string. I think
Michel Andre asked a similar question about template based or inheritance/interface based approach (see http://article.gmane.org/gmane.comp.lib.boost.devel/121983 and scroll down) and got only one answer (that was mine). I don't see much of a consensus but lots of ideas. There is no general consensus so far about the package structure of the whole network library. So there can't be any consensus about how different packages look inside. So let us do this step first before we do the second please.
Even if we go for a interface/inheritance based approach is would like to expose tcp_stream/tcp_connector/tcp_acceptor/udp_stream et al and the like so the user could instantiate a concrete implementation and not going through the address, dynamic factory thingy. There might be specifics in these classes that you care for if you only support tcp eg. /Michel