code: def receive_messages_iter_async(self, on_message_received=None):
          
          self._message_received_callback = on_message_received
          self._received_messages = queue.Queue()
          return AsyncMessageIter(self, auto_complete=self.auto_complete)
docs: Receive messages by asynchronous generator. Messages returned in the
          generator have already been accepted - if you wish to add logic to accept
          or reject messages based on custom criteria, pass in a callback.
  
          If the receive client is configured with `auto_complete=True` then the messages received
          from the iterator returned by this function will be automatically settled when the iterator
          is incremented. Alternatively, if `auto_complete=False`, then each message will need to
          be explicitly settled before it expires and is released.
  
          :param on_message_received: A callback to process messages as they arrive from the
           service. It takes a single argument, a ~uamqp.message.Message object.
          :type on_message_received: callable[~uamqp.message.Message]
          :rtype: Generator[~uamqp.message.Message]