private synchronized ByteBuffer unwrap() throws SSLException {
        int rem;
        //There are some ssl test suites, which get around the selector.select() call, which cause an infinite unwrap and 100% cpu usage (see #459 and #458)
        if(readEngineResult.getStatus() == SSLEngineResult.Status.CLOSED && sslEngine.getHandshakeStatus() == HandshakeStatus.NOT_HANDSHAKING){
            try {
                close();
            } catch (IOException e) {
                //Not really interesting
            }
        }
        do {
            rem = inData.remaining();
            readEngineResult = sslEngine.unwrap( inCrypt, inData );
        } while ( readEngineResult.getStatus() == SSLEngineResult.Status.OK && ( rem != inData.remaining() || sslEngine.getHandshakeStatus() == HandshakeStatus.NEED_UNWRAP ) );
        inData.flip();
        return inData;
    }
private synchronized ByteBuffer unwrap() throws SSLException {
        int rem;
        
        if(readEngineResult.getStatus() == SSLEngineResult.Status.CLOSED && sslEngine.getHandshakeStatus() == HandshakeStatus.NOT_HANDSHAKING){
            try {
                close();
            } catch (IOException e) {
                
            }
        }
        do {
            rem = inData.remaining();
            readEngineResult = sslEngine.unwrap( inCrypt, inData );
        } while ( readEngineResult.getStatus() == SSLEngineResult.Status.OK && ( rem != inData.remaining() || sslEngine.getHandshakeStatus() == HandshakeStatus.NEED_UNWRAP ) );
        inData.flip();
        return inData;
    }
private synchronized ByteBuffer unwrap ( ) throws SSLException { int rem ; //There are some ssl test suites, which get around the selector.select() call, which cause an infinite unwrap and 100% cpu usage (see #459 and #458) if ( readEngineResult . getStatus ( ) == SSLEngineResult . Status . CLOSED && sslEngine . getHandshakeStatus ( ) == HandshakeStatus . NOT_HANDSHAKING ) { try { close ( ) ; } catch ( IOException e ) { //Not really interesting } } do { rem = inData . remaining ( ) ; readEngineResult = sslEngine . unwrap ( inCrypt , inData ) ; } while ( readEngineResult . getStatus ( ) == SSLEngineResult . Status . OK && ( rem != inData . remaining ( ) || sslEngine . getHandshakeStatus ( ) == HandshakeStatus . NEED_UNWRAP ) ) ; inData . flip ( ) ; return inData ; }
performs the unwrap operation by unwrapping from {@link #inCrypt} to {@link #inData}
performs the unwrap operation by unwrapping from {