code: def _send_ack(self, ip, port, packet, update_timestamp=True):
          
          # TODO: maybe wait a bit, so the ack could get attached to another
          # packet
          ack = APPMessage(message_type=MsgType.ACK)
          ack.header.ack_sequence_number = packet.header.sequence_number
          self._send_packet(
              ip, port, ack,
              update_timestamp=update_timestamp, acknowledge_packet=False
          )
docs: Send an ack packet
  
          :param ip: Ip to send to
          :type ip: str
          :param port: Port to send to
          :type port: int
          :param packet: Packet to be acknowledged
          :type packet: APPMessage
          :param update_timestamp: Should update timestamp to current
          :type update_timestamp: bool
          :rtype: None