aboutsummaryrefslogtreecommitdiffstats
path: root/node/errors.go
diff options
context:
space:
mode:
Diffstat (limited to 'node/errors.go')
-rw-r--r--node/errors.go20
1 files changed, 17 insertions, 3 deletions
diff --git a/node/errors.go b/node/errors.go
index f8eece06d..bd5ddeb5d 100644
--- a/node/errors.go
+++ b/node/errors.go
@@ -16,13 +16,27 @@
package node
-import "fmt"
+import (
+ "fmt"
+ "reflect"
+)
-// StopError is returned if a node fails to stop either any of its registered
+// DuplicateServiceError is returned during Node startup if a registered service
+// constructor returns a service of the same type that was already started.
+type DuplicateServiceError struct {
+ Kind reflect.Type
+}
+
+// Error generates a textual representation of the duplicate service error.
+func (e *DuplicateServiceError) Error() string {
+ return fmt.Sprintf("duplicate service: %v", e.Kind)
+}
+
+// StopError is returned if a Node fails to stop either any of its registered
// services or itself.
type StopError struct {
Server error
- Services map[string]error
+ Services map[reflect.Type]error
}
// Error generates a textual representation of the stop error.