/* Copyright (c) [2023] [pcm] [pcm-coordinator] is licensed under Mulan PSL v2. You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPaRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details. */ package main import ( "flag" "github.com/zeromicro/go-zero/core/conf" "github.com/zeromicro/go-zero/core/logx" "github.com/zeromicro/go-zero/core/service" "github.com/zeromicro/go-zero/zrpc" "gitlink.org.cn/JointCloud/pcm-coordinator/pkg/helper/interceptor/rpcserver" "gitlink.org.cn/JointCloud/pcm-coordinator/rpc/internal/config" participantserviceServer "gitlink.org.cn/JointCloud/pcm-coordinator/rpc/internal/server/participantservice" pcmcoreServer "gitlink.org.cn/JointCloud/pcm-coordinator/rpc/internal/server/pcmcore" "gitlink.org.cn/JointCloud/pcm-coordinator/rpc/internal/svc" "gitlink.org.cn/JointCloud/pcm-coordinator/rpc/pcmCore" "google.golang.org/grpc" "google.golang.org/grpc/reflection" ) var configFile = flag.String("f", "rpc/etc/pcmcore.yaml", "the config file") func main() { flag.Parse() var c config.Config conf.MustLoad(*configFile, &c) ctx := svc.NewServiceContext(c) s := zrpc.MustNewServer(c.RpcServerConf, func(grpcServer *grpc.Server) { pcmCore.RegisterPcmCoreServer(grpcServer, pcmcoreServer.NewPcmCoreServer(ctx)) pcmCore.RegisterParticipantServiceServer(grpcServer, participantserviceServer.NewParticipantServiceServer(ctx)) if c.Mode == service.DevMode || c.Mode == service.TestMode { reflection.Register(grpcServer) } }) //rpc log s.AddUnaryInterceptors(rpcserver.LoggerInterceptor) defer s.Stop() logx.Infof("Starting rpc server at %s...\n", c.ListenOn) s.Start() }