
Boris wrote:
On Sat, 28 Jun 2008 00:50:10 +0200, Edward Diener <eldiener@tropicsoft.com> wrote:
[...]From the tutorials I would guess that the library, consisting of some 120+ individual items as specified in the reference, has to do with using network sockets, in synchronous and asynchronous mode, and nothing else. Perhaps this is true but that is an awful lot of items just for dealing with socket programming in ASIO. Even here a good general introduction to socket programming with ASIO would have been welcome. Of course something tells me that there is more to the library than just network socket programming, but I do not have the patience to dig into this by looking at some 120 individual items to see what each one
Yes, the name Boost.Asio is misleading for those who look for a network library. If you don't happen to read the description of Boost.Asio at http://www.boost.org/doc/libs/1_35_0 you miss the library. But then the description itself is misleading as it gives developers the impression Boost.Asio is a network library which should have been really called Boost.Net: "Portable networking, including sockets, timers, hostname resolution and socket iostreams."
While today nearly all I/O objects in Boost.Asio deal with network functions you can extend Boost.Asio with new I/O objects which don't do networking. But it turned out that this isn't even known in the Asio mailing list. Boost.Asio is really a library to support *any* asynchronous I/O functions which include network functions which again happen to be the only ones supported by Boost.Asio out of the box. If you have a look at http://www.highscore.de/boost/file_monitor.zip though you get an idea how you can create a new I/O object which notifies you asynchronously when a file is changed.
It is very nice that ASIO has all of this functionality which you mention but since the overview documentation, aside from the tutorials and examples, is nonexistent it would take a more persistent programmer than I am to figure out how to do anything with the library other than socket programming. Even in the latter regard I find the lack of an overview to be daunting as I do not learn libraries well from tutorials/examples, but do from actual documentation with conceptual explanations.