Forráskód Böngészése

rpc: clean up check for missing methods/subscriptions on handler (#17145)

Wenbiao Zheng 7 éve
szülő
commit
68da9aa716
1 módosított fájl, 5 hozzáadás és 8 törlés
  1. 5 8
      rpc/server.go

+ 5 - 8
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
 }