'Called when some SSL data is received.
The argument is a bytes object.'

def data_received(self, data):

    try:
        (ssldata, appdata) = self._sslpipe.feed_ssldata(data)
    except ssl.SSLError as e:
        if self._loop.get_debug():
            logger.warning('%r:    SSL    error    %s    (reason    %s)', self, e.errno, e.reason)
        self._abort()
        return
    for chunk in ssldata:
        self._transport.write(chunk)
    for chunk in appdata:
        if chunk:
            self._app_protocol.data_received(chunk)
        else:
            self._start_shutdown()
            break
