When I had a query regarding the newer standalone boost, I emailed Chris directly. He very helpfully replied promptly and fully.

I have always felt that the documentation for ASIO is... terse. Perfect for Mekons, Terminator T2000's and Tron. Not so friendly for human beings.

Every piece of information you need is there, exactly once, with not even one character more than is necessary to aid understanding. It took me a few readings for most of it to sink in. I'm still not sure how to code a service's handler invocation properly, so that it will work with futures, handler functions and co-routines (I can at least cause the handler to be posted to the correct io_context and ensure that the context stays 'running' for long enough for it to be executed. 

I would love to see an example of a fully-fledged asio service implementing, for example, the client side of an http-protocol-socket where the transport is running on a background thread.

There are some books on the subject. But they cost, you know, money...


On 5 January 2018 at 15:45, Vinnie Falco via Boost-users <boost-users@lists.boost.org> wrote:
On Fri, Jan 5, 2018 at 1:52 AM, Klaim - Joël Lamotte via Boost-users
<boost-users@lists.boost.org> wrote:
> Although it is not supposed to be up to date, I think the description given
> in the documentation of the executor library
> that was proposed by the ASIO author is probably the best to understand the
> difference between these:
> https://github.com/chriskohlhoff/executors

It really would be nice if Chris Kohlhoff (author of Boost.Asio) could
step forward and provide complete detail on how these functions are
used, including a few examples such as usage in a composed operation

Boost-users mailing list