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