Para ver qué tan bien me está yendo en el procesamiento de los datos entrantes, me gustaría medir la longitud de la cola en mis sockets TCP y UDP.¿Cómo obtengo la cantidad de datos en cola para el socket UDP?
Sé que puedo obtener el tamaño de la cola a través de la opción de socket SO_RCVBUF
, y que ioctl(<sockfd>, SIOCINQ, &<some_int>)
me dice la información para los sockets TCP. Pero para UDP el SIOCINQ
/FIONREAD
ioctl devuelve solo el tamaño del siguiente datagrama pendiente. ¿Hay alguna manera de obtener el tamaño de cola para UDP, sin tener que analizar tablas del sistema como /proc/net/udp
?
Me temo que no puede obtener esta información directamente ya que el kernel no la admite. – ldx