Я хотел бы подсчитать байты в/из сокета. Для обычного сокета я могу просто суммировать изменение размера буфера, вызванное recv(), и возвращаемое значение send(). Как это сделать с помощью IO::Socket::SSL?
Последний. Да, я знаю о проблемах с заголовками пакетов и повторной отправкой пакетов; Я готов принять приблизительное значение, основанное на байтах, подсчитанных из send() и recv().
IO::Socket::SSL не предоставляет вам такое представление базового TCP-сокета, поскольку он позволяет только OpenSSL обрабатывать TCP-сокет (через Net::SSLeay). Чтобы получить такие сведения, вам нужно будет самостоятельно обрабатывать чтение/запись в сокете TCP, а затем взаимодействовать с уровнем SSL с помощью интерфейса BIO. Конечно, это намного сложнее, чем просто использование абстракции, предлагаемой IO::Socket::SSL.
Почему вы хотите это сделать? Если вы хотите измерить пропускную способность, вам нужно подсчитать незашифрованные данные. Если вы хотите измерить объем данных, отправленных по вашему соединению, то ваш подход не работает даже для незашифрованных соединений (поскольку он не включает заголовки пакетов и повторно отправленные пакеты).