Packet processing loop

        :rtype: None

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)