code: def quiet_ping(hostname, timeout=WAIT_TIMEOUT, count=NUM_PACKETS,
                 packet_size=PACKET_SIZE, path_finder=False):
      
      myStats = MyStats() # Reset the stats
      mySeqNumber = 0 # Starting value
  
      try:
          destIP = socket.gethostbyname(hostname)
      except socket.gaierror as e:
          return 0,0,0,0
  
      myStats.thisIP = destIP
  
      # This will send packet that we dont care about 0.5 seconds before it starts
      # acrutally pinging. This is needed in big MAN/LAN networks where you sometimes
      # loose the first packet. (while the switches find the way... :/ )
      if path_finder:
          fakeStats = MyStats()
          do_one(fakeStats, destIP, hostname, timeout,
                          mySeqNumber, packet_size, quiet=True)
          time.sleep(0.5)
  
      for i in range(count):
          delay = do_one(myStats, destIP, hostname, timeout,
                          mySeqNumber, packet_size, quiet=True)
  
          if delay == None:
              delay = 0
  
          mySeqNumber += 1
  
          # Pause for the remainder of the MAX_SLEEP period (if applicable)
          if (MAX_SLEEP > delay):
              time.sleep((MAX_SLEEP - delay)/1000)
  
      if myStats.pktsSent > 0:
          myStats.fracLoss = (myStats.pktsSent - myStats.pktsRcvd)/myStats.pktsSent
      if myStats.pktsRcvd > 0:
          myStats.avrgTime = myStats.totTime / myStats.pktsRcvd
  
      # return tuple(max_rtt, min_rtt, avrg_rtt, percent_lost)
      return myStats.maxTime, myStats.minTime, myStats.avrgTime, myStats.fracLoss
docs: Same as verbose_ping, but the results are returned as tuple