tree be8b27a1d48941320e022f0aeaeca4e6a0e0b3f1
parent 4b646236df12b52205d2098ef985280190b358a7
author Ed Tanous <edtanous@google.com> 1613783667 -0800
committer Ed Tanous <ed@tanous.net> 1614702988 +0000

Standardize the asio helper methods

As a general rule, std::networking/asio methods take a single callback
handler.  This is done intentionally, as it allows objects that cannot
be taken by reference to be taken directly by move.

The latest helper methods for properties seems to have taken a
javascript style approach, with "onSuccess" and "onError" handlers.
This works fine in js, where everything is reference counted, but
doesn't work in all cases in c++.

As an strawman.

std::unique_ptr<Thing> myThing;
setProperty(......
           [myThing{std::move(myThing)}](std::error_code){
               ... Use MyThing
           },
           [myThing{std::move(myThing)}](){
                ... Use mything
           });

The above code doesn't work, as you can't move out of myThing twice.
Sure, you could make myThing a shared_ptr, but that's wasteful, and
defeats c++es policy of "you don't pay for what you don't use".

This commit changes the new handlers to use more standard prototypes
that accept a single callback, and return error codes on failure.

I was able to find only one usage of these methods in the codebase,
inside telemetry, with a single getProperty call.  For that method, I
have left the old version of this method present, and marked it with the
c++17 [[deprecated]] flag, along with a note on what to do instead.
This is to avoid a hard binding between this patchset and
https://gerrit.openbmc-project.xyz/c/openbmc/telemetry/+/40878
which should allow them to be merged in whatever order we like.

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