summaryrefslogtreecommitdiff
path: root/teleirc/matterbridge/vendor/github.com/mattermost/logr/timeout.go
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-11-02 15:27:18 +0800
committerMistivia <i@mistivia.com>2025-11-02 15:27:18 +0800
commite9c24f4af7ed56760f6db7941827d09f6db9020b (patch)
tree62128c43b883ce5e3148113350978755779bb5de /teleirc/matterbridge/vendor/github.com/mattermost/logr/timeout.go
parent58d5e7cfda4781d8a57ec52aefd02983835c301a (diff)
add matterbridge
Diffstat (limited to 'teleirc/matterbridge/vendor/github.com/mattermost/logr/timeout.go')
-rw-r--r--teleirc/matterbridge/vendor/github.com/mattermost/logr/timeout.go34
1 files changed, 34 insertions, 0 deletions
diff --git a/teleirc/matterbridge/vendor/github.com/mattermost/logr/timeout.go b/teleirc/matterbridge/vendor/github.com/mattermost/logr/timeout.go
new file mode 100644
index 0000000..37737bc
--- /dev/null
+++ b/teleirc/matterbridge/vendor/github.com/mattermost/logr/timeout.go
@@ -0,0 +1,34 @@
+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
+}