
Hi Jose, I have a couple of comments on asio's cons, as you listed them... --- Jose <jmalv04@gmail.com> wrote:
asio (asio.sf.net) ===
pros - async network io ready (linux epoll as of 0.31)
cons - basic real world code examples (but no http examples)
I can say that asio has been successfully used to develop HTTP servers and clients (as well as many other protocol implementations such as XMPP and SOCKS). Of course, that doesn't really help if you are looking for an example! I'd love to add to the examples included with the library, but unfortunately paid work takes priority.
- does not use boost threads
asio does not use boost threads for any internally created threads, and includes its own thread wrapper class, because my customers required a header-file-only library. However, you are free (and I would encourage you) to use boost threads to invoke the demuxer's run function from a thread, e.g. asio::demuxer d; boost::thread th(boost::bind(&asio::demuxer::run, &d)); ... th.join(); Furthermore, the Linux/UNIX implementation of asio does not create *any* internal threads, so the only threads in your process would be ones you create using boost (or whatever other method you prefer). Cheers, Chris