(srv *grpc.Server, fdp *descriptorpb.FileDescriptorProto, fd protoreflect.FileDescriptor)
| 805 | } |
| 806 | |
| 807 | func registerDynamicProto(srv *grpc.Server, fdp *descriptorpb.FileDescriptorProto, fd protoreflect.FileDescriptor) { |
| 808 | type emptyInterface any |
| 809 | |
| 810 | for i := 0; i < fd.Services().Len(); i++ { |
| 811 | s := fd.Services().Get(i) |
| 812 | |
| 813 | sd := &grpc.ServiceDesc{ |
| 814 | ServiceName: string(s.FullName()), |
| 815 | HandlerType: (*emptyInterface)(nil), |
| 816 | Metadata: fdp.GetName(), |
| 817 | } |
| 818 | |
| 819 | for j := 0; j < s.Methods().Len(); j++ { |
| 820 | m := s.Methods().Get(j) |
| 821 | sd.Methods = append(sd.Methods, grpc.MethodDesc{ |
| 822 | MethodName: string(m.Name()), |
| 823 | }) |
| 824 | } |
| 825 | |
| 826 | srv.RegisterService(sd, struct{}{}) |
| 827 | } |
| 828 | } |
| 829 | |
| 830 | type v1AlphaClientAdapter struct { |
| 831 | stub v1alphareflectiongrpc.ServerReflectionClient |
no test coverage detected