mirror of
https://github.com/boostorg/asio.git
synced 2026-01-29 19:12:09 +00:00
The any_executor class stores the state of the target's blocking property to enable an optimisation in any_executor::execute(), i.e. if the target executor has the property blocking.always, we can avoid a memory allocation when type-erasing the submitted function object. With this change the any_executor now "stores" the blocking property as a different target function table, rather than as a separate member of type blocking_t. This reduces the size of an any_executor by 8 bytes on x86-64.