<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _packet_loop(self):
 """ Packet processing loop :rtype: None """

        while self._is_running:
            # Only wait if there are no more packets in the inbox
            if self.inbox.empty() \
                    and not self.new_packet.wait(self._packet_timeout):
                continue
            ip, port, packet = self.inbox.get()
            if self.inbox.empty():
                self.new_packet.clear()
            self.debug(u"{}".format(packet))

            if packet.header.message_type == MsgType.CONFIG:
                self._do_config_packet(packet, ip, port)
            elif packet.header.message_type == MsgType.UPDATE:
                self._do_update_packet(packet)