def _message_generator()

in uamqp/client.py [0:0]


    def _message_generator(self):
        """Iterate over processed messages in the receive queue.

        :rtype: generator[~uamqp.message.Message]
        """
        self.open()
        auto_complete = self.auto_complete
        self.auto_complete = False
        self._timeout_reached = False
        self._last_activity_timestamp = None
        receiving = True
        message = None
        try:
            while receiving and not self._timeout_reached:
                while receiving and self._received_messages.empty() and not self._timeout_reached:
                    receiving = self.do_work()
                while not self._received_messages.empty():
                    message = self._received_messages.get()
                    self._received_messages.task_done()
                    yield message
                    self._complete_message(message, auto_complete)
        finally:
            self._complete_message(message, auto_complete)
            self.auto_complete = auto_complete
            if self._shutdown_after_timeout:
                self.close()