如何将 Boost::ASIO 与用户空间网络堆栈集成?



有没有办法将Boost::ASIO与F-stack或DPDK等用户空间网络堆栈集成?

我正在寻找一种获得用户空间堆栈性能优势的方法,但维护 Boost::ASIO 的 API 以便能够使用使用它编写的所有库等。

基本上,如果不存在这样的包装器,你将不得不实现低级接口和套接字,即那些使用 boost::asio 套接字抽象 TCP 和 UDP 细节的接口和套接字(基本上在 IO 服务内部(。

我不知道你想使用哪个库。所以,这可能是相当多的努力。

看看 boost::asio basic_datagram套接字、解析器、端点和服务。您至少需要翻译重要的部分(性能(,例如发送和接收。您可以通过 boost 访问套接字的本机句柄,如果您的库有一个通过该句柄发送和接收的接口,您可能只需要覆盖所有发送和接收函数,或者只需在外部处理发送/接收。

最新更新