При использовании boost :: asio 1.66 я прочитал в документации, что boost::asio::io_context::post
устарело для boost::asio::post
, то же самое для boost::asio::io_context::dispatch
.Потому что до того, как они стали членами-членами io_context
, и, конечно, обработчик должен выполняться в контексте некоторого io_context
, т. Е. executor
, мой вопрос:
Как повысить:: asio :: io_context :: post простейшая перегрузка знает, какую io_context
то есть executor
использовать?
В документации template< typename CompletionToken> DEDUCED post(CompletionToken && token);
говорится, что
Получаетсвязанный с executor объект-обработчик ex, выполняя get_associated_executor (handler).
Но документация get_associated_executor
также не проясняет мне это.Я предполагаю, что из-за вывода аргумента шаблона он может каким-то образом получить его в выполняемом в данный момент обработчике, но я хочу убедиться, а также, этого будет недостаточно, если я вызову post
вне буста:: Asio Handler.