Github user bgedik commented on a diff in the pull request: https://github.com/apache/thrift/pull/1476#discussion_r163679874 --- Diff: lib/cpp/src/thrift/transport/TSSLSocket.cpp --- @@ -249,6 +249,17 @@ TSSLSocket::~TSSLSocket() { close(); } +bool TSSLSocket::hasPendingDataToRead() { + if (!isOpen()) { + return false; + } + initializeHandshake(); + if (!checkHandshake()) + throw TSSLException("SSL_peek: Handshake is not completed"); + // data may be available in SSL buffers (note: SSL_pending does not have a failure mode) + return TSocket::hasPendingDataToRead() || SSL_pending(ssl_) > 0; --- End diff -- Right. Nice catch.
---