Skip to content

Commit

Permalink
Refactor ping function
Browse files Browse the repository at this point in the history
  • Loading branch information
tr4cks committed Dec 26, 2023
1 parent 2c2b849 commit a8e5304
Showing 1 changed file with 8 additions and 12 deletions.
20 changes: 8 additions & 12 deletions modules/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,22 +28,18 @@ func Ping(addr string) (bool, error) {
if err != nil {
return false, fmt.Errorf("error creating new pinger: %w", err)
}
pinger.Interval, err = time.ParseDuration("0.167s")
if err != nil {
return false, fmt.Errorf("error parsing duration: %w", err)
}
pinger.Timeout, err = time.ParseDuration("0.5s")
if err != nil {
return false, fmt.Errorf("error parsing duration: %w", err)
}
pinger.OnRecv = func(pkt *probing.Packet) {
pinger.Stop()
}
pinger.Count = 1
pinger.Timeout = 500 * time.Millisecond
err = pinger.Run()
if err != nil {
return false, fmt.Errorf("error sending ping: %w", err)
}
return pinger.PacketsRecv > 0, nil
stats := pinger.Statistics()
if stats.PacketLoss > 0 {
return false, nil
} else {
return true, nil
}
}

func Validate[T any](input map[string]interface{}, output *T) error {
Expand Down

0 comments on commit a8e5304

Please sign in to comment.