master
go 28 lines 460 Bytes
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 package pinger
4
5 import "fmt"
6
7 type ProbeError struct {
8 Host string
9 Stage string
10 Err error
11 }
12
13 func (e *ProbeError) Error() string {
14 if e == nil {
15 return "<nil>"
16 }
17 if e.Err == nil {
18 return fmt.Sprintf("ping %s for host %q", e.Stage, e.Host)
19 }
20 return fmt.Sprintf("ping %s for host %q: %v", e.Stage, e.Host, e.Err)
21 }
22
23 func (e *ProbeError) Unwrap() error {
24 if e == nil {
25 return nil
26 }
27 return e.Err
28 }