'Replacement for self.recv() during SSL connections.
From: http://evanfosmark.com/2010/09/ssl-support-in-asynchatasync_chat'

def _ssl_recv(self, buffer_size):

    try:
        data = self.socket.read(buffer_size)
        if (not data):
            self.handle_close()
            return ''
        return data
    except ssl.SSLError as why:
        if (why[0] in (asyncore.ECONNRESET, asyncore.ENOTCONN, asyncore.ESHUTDOWN)):
            self.handle_close()
            return u''
        elif (why[0] == errno.ENOENT):
            return ''
        else:
            raise
