有没有办法将Boost :: ASIO与用户网络堆栈(如F-stack或DPDK)集成?
我正在寻找一种获得userland堆栈性能优势的方法,但是维护Boost :: ASIO的API能够使用随它编写的所有库等。
答案 0 :(得分:2)
基本上,如果不存在这样的包装器,则必须实现低级接口和套接字,I。那些使用boost :: asio套接字(基本上在IO服务中)抽象TCP和UDP细节的那些。
我不知道您要使用的库。所以,这可能是一些努力。
看一下boost :: asio basic_datagram套接字,解析器,端点和service。您至少需要翻译重要部分(性能),如发送和接收。如果库具有通过该句柄发送和接收的接口,您可以通过boost访问套接字的本机句柄,您可能只需要覆盖所有发送和接收函数。只需处理外部发送/接收。