Чтобы узнать, насколько хорошо я занимаюсь обработкой входящих данных, я бы хотел измерить длину очереди в своих сокетах TCP и UDP.
Я знаю, что могу получить размер очереди с помощью опции SO_RCVBUF
socket, и что ioctl(<sockfd>, SIOCINQ, &<some_int>)
сообщает мне информацию о сокетах TCP. Но для UDP SIOCINQ
/FIONREAD
ioctl возвращает только размер следующей ожидающей датаграммы. Есть ли способ получить размер очереди для UDP, без необходимости анализировать системные таблицы, такие как /proc/net/udp
?