Сообщение Re: Асинхронщина от 25.12.2025 0:58
Изменено 25.12.2025 1:04 antropolog
Re: Асинхронщина
Здравствуйте, Videoman, Вы писали:
в азио есть несколько политик по работе с асинхронностью, задаются так называемыми completion token, которые определяют механизм возврата результата асинхронной функции. В частности есть токен use_future, для него асинх. операция возвратит фьючер
в азио есть несколько политик по работе с асинхронностью, задаются так называемыми completion token, которые определяют механизм возврата результата асинхронной функции. В частности есть токен use_future, для него асинх. операция возвратит фьючер
// передаём токен use_future последним аргументом
std::future<std::size_t> future_read =
boost::asio::async_read_until(socket, boost::asio::dynamic_buffer(line), '\n', boost::asio::use_future);
// get() ждёт результат, подобно await в javascript
const size_t result = future_read.get();Re: Асинхронщина
Здравствуйте, Videoman, Вы писали:
в азио есть несколько политик по работе с асинхронностью, задаются так называемыми completion token, которые определяют механизм возврата результата асинхронной функции. В частности есть токен use_future, для него асинх. операция возвратит фьючер
в азио есть несколько политик по работе с асинхронностью, задаются так называемыми completion token, которые определяют механизм возврата результата асинхронной функции. В частности есть токен use_future, для него асинх. операция возвратит фьючер
// передаём токен use_future последним аргументом
std::string line;
std::future<std::size_t> future_read =
boost::asio::async_read_until(socket, boost::asio::dynamic_buffer(line), '\n', boost::asio::use_future);
// get() ждёт результат, подобно await в javascript
const size_t bytes_transferred = future_read.get();
if (bytes_transferred != 0)
{
// do something with line
}