Open
Description
Is your feature request related to a problem? Please describe.
Icinga DB Boost.Signal2 handlers, which btw block its callers on every cluster message, assemble malloc(3)-heavy String[]s and then pass them to the I/O loop via fire and forget.
Describe the solution you'd like
Replace String[] with T[] where T is a union/variant of String|const char*. The latter would re-use constant C string literals (as in "icinga:foobar"
) compiled in the program every time.
Describe alternatives you've considered
Handlers just collect all data needed for a message and put a callback in a workqueue (but maybe not directly the I/O loop itself).
Additional context
ref/NC/820479