From 7b318285c9ec13fbfc19eb72f933cf8139cea88b Mon Sep 17 00:00:00 2001 From: iamqizhao Date: Fri, 12 Jun 2015 11:23:39 -0700 Subject: [PATCH] remove a sanity check to give more flexibility to host a service. It loses some safety though. --- server.go | 6 ------ 1 file changed, 6 deletions(-) diff --git a/server.go b/server.go index 53559de05..bc8914b32 100644 --- a/server.go +++ b/server.go @@ -38,7 +38,6 @@ import ( "fmt" "io" "net" - "reflect" "strings" "sync" @@ -145,11 +144,6 @@ func (s *Server) RegisterService(sd *ServiceDesc, ss interface{}) { if _, ok := s.m[sd.ServiceName]; ok { grpclog.Fatalf("grpc: Server.RegisterService found duplicate service registration for %q", sd.ServiceName) } - ht := reflect.TypeOf(sd.HandlerType).Elem() - st := reflect.TypeOf(ss) - if !st.Implements(ht) { - grpclog.Fatalf("grpc: Server.RegisterService found the handler of type %v that does not satisfy %v", st, ht) - } srv := &service{ server: ss, md: make(map[string]*MethodDesc),