IOCP и неблокирующий ввод-вывод

У меня есть сторонняя библиотека, которая использует неблокирующую отправку, получение (в Windows), поэтому я могу использовать libevent (или libev) с < strong>выберите бэкэнд для цикла событий. Есть ли простой способ использовать серверную часть IOCP (libevent2, libuv)? Потому что в разных мануалах пишут, что надо использовать функции WSASend, WSARecv с какими-то дополнительными аргументами (указатель на структуру OVERLAPPED). Как я могу использовать внутренний цикл событий IOCP с этой сторонней библиотекой, не переписывая ее код? Или это не невозможно?


person Dark Hydra    schedule 18.03.2013    source источник


Ответы (1)


Это невозможно.

По крайней мере:

  • вам нужно связать сокет, который используется с IOCP, который вы хотите обрабатывать завершения
  • вам нужно создать сокет с разными флагами.

Любой из них, вероятно, требует изменения кода библиотеки.

person Len Holgate    schedule 20.11.2013