Как получить количество данных в очереди для сокета UDP?

Чтобы увидеть, насколько хорошо я справляюсь с обработкой входящих данных, я хотел бы измерить длину очереди в моих сокетах TCP и UDP.

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

15
задан che 14 February 2012 в 14:01
поделиться