| 1234567891011121314151617181920212223242526272829303132 |
- package tui
- import "pingo/internal/ping"
- type Address struct {
- Address string
- results []float64
- }
- // Wraps [ping.Ping]
- func (a *Address) Ping() (delay float64, err error) {
- return ping.Ping(a.Address)
- }
- // Poll pings the affiliated Address and appends it to a.results
- func (a *Address) Poll() (success bool, err error) {
- if delay, err := a.Ping(); err == nil {
- a.results = append(a.results, delay)
- return true, nil
- } else {
- return false, err
- }
- }
- // Last returns the last result in [Address.results]. Returns -1 if no previous result
- func (a *Address) Last() (delay float64) {
- if len(a.results) > 0 {
- return a.results[len(a.results)-1]
- } else {
- return -1
- }
- }
|