code: def _acking(self, params=None):
          
          while self._is_running:
              try:
                  t, num_try, (ip, port), packet = self._to_ack.get(
                      timeout=self._select_timeout
                  )
              except queue.Empty:
                  # Timed out
                  continue
  
              diff = t - time.time()
              if diff > 0:
                  time.sleep(diff)
  
              with self._seq_ack_lock:
                  if packet.header.sequence_number not in self._seq_ack:
                      # Not waiting for this?
                      continue
  
              if num_try <= self._retransmit_max_tries:
                  # Try again
                  self._send(ip, port, packet.pack(True))
                  self._to_ack.put(
                      (
                          time.time() + self._retransmit_timeout,
                          num_try + 1,
                          (ip, port),
                          packet
                      )
                  )
              else:
                  # Failed to ack
                  with self._seq_ack_lock:
                      try:
                          self._seq_ack.remove(packet.header.sequence_number)
                      except KeyError:
                          pass
                  self.warning("Exceeded max tries")
docs: Packet acknowledge and retry loop
  
          :param params: Ignore
          :type params: None
          :rtype: None