从boost :: asio :: ip :: tcp :: socket获取boost :: asio :: io_context以执行自定义函数

时间:2019-05-20 14:31:46

标签: c++ boost boost-asio

我正在将cli库移植到boost 1.70版

它使用boost::asio来实现一个简单的tcp服务器。

在我的代码中的某个地方,我有一个boost::asio::ip::tcp::socket对象,我需要在同一个io_context中执行自定义函数。

直到1.69版,以下代码都可以:

boost::asio::io_context& ioc = socket.get_io_service();
ioc.post( [](){ /* my custom code */ } );

但是对于1.70版:

  • socket不再公开方法get_io_service
  • io_context::post已弃用

我尝试过:

boost::asio::execution_context& ioc = socket.get_executor().context();
boost::asio::post(ioc, [](){ /* my custom code */ } );

但不能编译。

您能帮我将代码移植到1.70版吗?

0 个答案:

没有答案