Как интегрировать Boost :: ASIO с сетевым стеком пользователя? - PullRequest
0 голосов
/ 12 июня 2018

Есть ли способ интеграции Boost :: ASIO с сетевым стеком пользователя, таким как F-stack или DPDK?

Я ищу способ получения преимуществ производительности стеков пользовательского пространства, но при этом поддерживаюAPI для Boost :: ASIO, позволяющий использовать все библиотеки и т. д., которые написаны с ним.

1 Ответ

0 голосов
/ 12 июня 2018

По сути, если такой оболочки уже не существует, вам придется реализовать низкоуровневые интерфейсы и сокеты, т.е.те, которые абстрагируют детали TCP и UDP с помощью сокетов boost :: asio (в основном внутри IO-сервиса).

Я не знаю библиотеку, которую вы хотите использовать.Итак, это может быть довольно трудоемким.

Посмотрите на сокет boost :: asio basic_datagram, распознаватель, конечную точку и service .Вам нужно будет перевести хотя бы важную часть (производительность), например, отправить и получить.Вы можете получить доступ к собственному дескриптору сокета через boost, если у вашей библиотеки есть интерфейс для отправки и получения через этот дескриптор, вам может потребоваться переопределить все функции отправки и получения, соответственно.просто обрабатывать отправку / получение извне.

...