Я пытаюсь установить TCP_QUICKACK
для своего серверного/клиентского приложения Boost TCP. Я не смог найти TCP_QUICKACK
в Boost asio. Как я могу установить эту опцию?
Для этого нет варианта в стиле Asio. Но вы всегда можете использовать собственный дескриптор:
// open tcp::socket s as normal...
int i = 1;
::setsockopt(s.native_handle(), IPPROTO_TCP, TCP_QUICKACK, &i, sizeof(i));
Я не проверял это, но похоже, что следующее должно работать, определяя ваш собственный непереносимый тип опции:
using quickack = asio::detail::socket_option::boolean<IPPROTO_TCP, TCP_QUICKACK>;
s.set_option(quickack(true));
Я бы предпочел простой способ, который дает понять, что вы не обещаете никаких портативных вариантов.