У меня есть программа, написанная с использованием boost :: asio, которая по своей сути является TCP-клиентом (очевидно, моя программа, но не boost :: asio :). Однако из этого кода мне нужно вызвать библиотеку, которая может выполнить блокировку сетевого ввода-вывода, что остановит выполнение однопоточного компонента boost :: asio.
Каков общий подход для преобразования вызовов в синхронный код из асинхронного кода без остановки цикла обработки событий?
Указанная библиотека не может быть изменена (сторонний код), поэтому нет способа изменить ее поведение с помощью w.r.t. блокировка ввода / вывода.