func ping(args []string, c *client.Client) { host := "" if len(args) > 1 { log.Fatalf("Unknown args for ping: %v", args[1:]) } if len(args) == 1 { var err error host, err = utils.ValidateAddr(args[0]) if err != nil { log.Fatalf("%v", err) } } startTime := time.Now() log.Printf("Connection took %v", time.Since(startTime)) value := make([]byte, 16) rand.Read(value) echoTime := time.Now() result, err := c.Echo(value, host) if err != nil { log.Fatalf("client.Echo failed: %v", err) } if !bytes.Equal(value, result) { log.Fatalf("Incorrect response from echo") } log.Printf("Reply took %v: %v", time.Since(echoTime), result) // milliseconds fmt.Printf("%f\n", float64(time.Since(startTime))/1000000) }