blob: 37737bcfd6a72cf656cd2d6f7b1df00aac5d93f4 (
plain) (
tree)
|
|
package logr
import "github.com/wiggin77/merror"
// timeoutError is returned from functions that can timeout.
type timeoutError struct {
text string
}
// newTimeoutError returns a TimeoutError.
func newTimeoutError(text string) timeoutError {
return timeoutError{text: text}
}
// IsTimeoutError returns true if err is a TimeoutError.
func IsTimeoutError(err error) bool {
if _, ok := err.(timeoutError); ok {
return true
}
// if a multi-error, return true if any of the errors
// are TimeoutError
if merr, ok := err.(*merror.MError); ok {
for _, e := range merr.Errors() {
if IsTimeoutError(e) {
return true
}
}
}
return false
}
func (err timeoutError) Error() string {
return err.text
}
|