docs: def send_one_ping(self, current_socket):
          """
          Send one ICMP ECHO_REQUEST.
          """
          # Header is type (8), code (8), checksum (16), id (16), sequence (16)
          checksum = 0
  
          # Make a dummy header with a 0 checksum.
          header = struct.pack(
              "!BBHHH", ICMP_ECHO, 0, checksum, self.own_id, self.seq_number
          )
  
          padBytes = []
          startVal = 0x42
          for i in range(startVal, startVal + (self.packet_size)):
              padBytes += [(i & 0xff)]  # Keep chars in the 0-255 range
          data = bytes(padBytes)
  
          # Calculate the checksum on the data and the dummy header.
          checksum = calculate_checksum(header + data) # Checksum is in network order
  
          # Now that we have the right checksum, we put that in. It's just easier
          # to make up a new header than to stuff it into the dummy.
          header = struct.pack(
              "!BBHHH", ICMP_ECHO, 0, checksum, self.own_id, self.seq_number
          )
  
          packet = header + data
  
          send_time = default_timer()
  
          try:
              current_socket.sendto(packet, (self.destination, 1)) # Port number is irrelevant for ICMP
          except socket.error as e:
              print("General failure (%s)" % (e.args[1]))
              current_socket.close()
              return
  
          return send_time