tree bc75a0388c58afd1e2c630a348ff54d16003a07f
parent 164b98bda29029d8260c5370f43c1a9cb08c473a
author Ed Tanous <edtanous@google.com> 1661977292 -0700
committer Ed Tanous <edtanous@google.com> 1662044600 -0700

Make asio connection use composed operations

Composed operations [1] are the way that asio is attempting to support
multiple executor, coroutine, and async concepts in parallel.  This
commit is the first in hopefully a line of commits where we move to a
pattern that is more generally reusable, and reliant on fewer strict
types.

This is coming up because asio has removed support for
completion_token_type on the async_result object when used with
yield_context.  A discussion with the maintainers on slack makes it seem
like this was unintentional, but regardless, we can improve this code.

The primary upshot of this is that async_send is now moved to use
async_initiate, which abstracts away all the result and completion types
from the code.  This requires moving some of the details namespaces
structures to allow for construction without requiring the callback type
paramter.  In the same move, it moves what was previously a duplicated
callback into its own class, called do_unpack, which separates the two
concepts, and makes it more clear which is responsible for what.

In doing this move, the templates are now moved to be called
"CompletionToken", to be more in line with other asio async operations.
There are a number of cases where these template parameters already
weren't callbacks, so changing the naming to be inline with asio seems
appropriate.

This allows sdbusplus to support boost 1.80.0.

[1] https://www.boost.org/doc/libs/1_80_0/libs/beast/doc/html/beast/using_io/writing_composed_operations.html

Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I9d25040abbffbedb39f55eb93c0d7270091cdd63
