code: def _message_received(self, message):
          
          self._was_message_received = True
          if self._message_received_callback:
              self._message_received_callback(message)
          self._complete_message(message, self.auto_complete)
  
          if self._received_messages:
              self._received_messages.put(message)
          elif not message.settled:
              # Message was received with callback processing and wasn't settled.
              # We'll log a warning and release it.
              _logger.warning("Message was not settled. Releasing.")
              message.release()
docs: Callback run on receipt of every message. If there is
          a user-defined callback, this will be called.
          Additionally if the client is retrieving messages for a batch
          or iterator, the message will be added to an internal queue.
  
          :param message: Received message.
          :type message: ~uamqp.message.Message