Как интегрировать Boost :: ASIO с сетевым стеком пользователя?

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

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

1

Решение

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

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

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

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector