
Caleb Epstein wrote:
[...] I think I see your point here, but I'm not 100% convinced that this is the right place to put url. It seems to me that the concept of URL belongs at a higher level, since the only portion you can use at the network level is a hostname and port. It might be expedient for a high-level HTTP library to be able to pass URLs all the way down to the network level, but it would be nearly as easy for that library to make use of its own URL object which had methods for extracting the "address_specifier" information.
Does anyone else have an opinion on this?
I agree with you that URLs and alike belong to a higher level. Level 0 will ultimately depend on C APIs like Berkeley sockets. Concepts like URLs will be implemented in a higher level based on whatever we have in level 0. I put the packages in http://www.highscore.de/boost/net/packages.png which were discussed before on this list. However there are packages missing because I don't know how to define them. There are various ideas like the concept of URLs but I don't want to put everything in a package level 1 because we have different goals here, too. If we assume that there will be a package called boost::net::iostream which provides synchronous I/O operations for sockets on a higher level I don't want to put URL into this package. So what is this package about where URL belongs to? This would help to get a more complete picture about all the dependencies of a network library. Boris
[...]