#
e8f2b0d5
|
| 12-Sep-2025 |
Ed Tanous <etanous@nvidia.com> |
asio: unpack in place
The existing code uses several different tuples to do the unpack, then concatenates them with tuple_cat. Simplify the code by generating a tuple of references to the dbus args
asio: unpack in place
The existing code uses several different tuples to do the unpack, then concatenates them with tuple_cat. Simplify the code by generating a tuple of references to the dbus args, and unpack directly to the main struct, thus simplifying the flow.
To accomplish this the make_dbus_args_tuple helper method is added, which strips the non-dbus arguments from a callback so they can be unpacked separately. This is relatively complex because this code tries to support
callback(boost::error_code, message_t, dbus_arg); as well as callback(boost::error_code, dbus_arg);
Dynamically dependent on which overload is provided. There's likely more cleanup that can happen there to separate these two, but this should at least help.
Tested: OpenBMC launches and runs. Redfish service validator (which should hit the majority of these overloads) passes.
Change-Id: I6bb7ee960459a505eb8633b1cdb30cd2b3037466 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|