c – 从libevent移植到boost :: asio:什么是ASIO中libevent事件
我正在尝试向基于libevent的库反向移植以使用ASIO后端(从而在单个应用程序中避免多个事件循环).还有其他方法可以解决“问题”,但我对此感兴趣
在Boost :: ASIO文档中,我没有看到事件对象的直接等价物(或者更确切地说,是一个句柄 – 因为libevent是用简单的C编写的); boost :: asio :: strand看起来很熟悉,但它似乎没有遵循libevent的模式:创建,期望,接收,做工作{,重复}. 我需要的是拥有一组对象/事件/事件回调,除非在io_service的循环之上运行回调(通过套接字事件),否则可以创建和忘记回调. Boost中有类似的东西吗? 解决方法
Boost.Asio没有提供与libevent的
events等效的东西.
在Boost.Asio中,创建一个I / O对象,例如 然后,操作系统将以与libevent事件变为活动时类似的方式通知io_service数据可用于读取(4).在某些时候,应用程序将通过 Boost.Asio强烈关注I / O对象而不是操作: >每次应用程序有兴趣处理I / O对象上的事件时,都必须启动操作.在这方面,整体流程类似于仅使用非持久性事件的libevent程序. 源图像和一般细节可以位于here. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |