'Ask OpenSSL to proceed with a handshake in progress.
Initially, this just sends the ClientHello; after some bytes have been
stuffed in to the C{Connection} object by C{dataReceived}, it will then
respond to any C{Certificate} or C{KeyExchange} messages.'

def _checkHandshakeStatus(self):

    if self._aborted:
        return
    try:
        self._tlsConnection.do_handshake()
    except WantReadError:
        self._flushSendBIO()
    except Error:
        self._tlsShutdownFinished(Failure())
    else:
        self._handshakeDone = True
        if IHandshakeListener.providedBy(self.wrappedProtocol):
            self.wrappedProtocol.handshakeCompleted()
