def _on_message(self, body, message):
        if message.properties.get('reply_to'):
            handler = self.handle_call
        else:
            handler = self.handle_cast

        def handle():
            # Do not ack the message if an exceptional error occurs,
            # but do ack the message if SystemExit or KeyboardInterrupt
            # is raised, as this is probably intended.
            try:
                handler(body, message)
            except Exception:
                raise
            except BaseException:
                message.ack()
                raise
            else:
                message.ack()
        handle()
Similar to shift_rows above, but performed in inverse for decryption.
dataset/ETHPy150Open celery/cell/cell/actors.py/Actor._on_message--crossover with--dataset/ETHPy150Open mrknow/filmkodi/plugin.video.mrknow/lib/utils/pyaes.py/AES.shift_rows_inv