aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rpc/server.go13
1 files changed, 5 insertions, 8 deletions
diff --git a/rpc/server.go b/rpc/server.go
index 90ffadd25..214e1d3ed 100644
--- a/rpc/server.go
+++ b/rpc/server.go
@@ -94,11 +94,12 @@ func (s *Server) RegisterName(name string, rcvr interface{}) error {
methods, subscriptions := suitableCallbacks(rcvrVal, svc.typ)
- // already a previous service register under given sname, merge methods/subscriptions
+ if len(methods) == 0 && len(subscriptions) == 0 {
+ return fmt.Errorf("Service %T doesn't have any suitable methods/subscriptions to expose", rcvr)
+ }
+
+ // already a previous service register under given name, merge methods/subscriptions
if regsvc, present := s.services[name]; present {
- if len(methods) == 0 && len(subscriptions) == 0 {
- return fmt.Errorf("Service %T doesn't have any suitable methods/subscriptions to expose", rcvr)
- }
for _, m := range methods {
regsvc.callbacks[formatName(m.method.Name)] = m
}
@@ -111,10 +112,6 @@ func (s *Server) RegisterName(name string, rcvr interface{}) error {
svc.name = name
svc.callbacks, svc.subscriptions = methods, subscriptions
- if len(svc.callbacks) == 0 && len(svc.subscriptions) == 0 {
- return fmt.Errorf("Service %T doesn't have any suitable methods/subscriptions to expose", rcvr)
- }
-
s.services[svc.name] = svc
return nil
}