github.com/polarismesh/polaris@v1.17.8/apiserver/grpcserver/option.go (about) 1 /** 2 * Tencent is pleased to support the open source community by making Polaris available. 3 * 4 * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved. 5 * 6 * Licensed under the BSD 3-Clause License (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * https://opensource.org/licenses/BSD-3-Clause 11 * 12 * Unless required by applicable law or agreed to in writing, software distributed 13 * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 14 * CONDITIONS OF ANY KIND, either express or implied. See the License for the 15 * specific language governing permissions and limitations under the License. 16 */ 17 18 package grpcserver 19 20 import ( 21 commonlog "github.com/polarismesh/polaris/common/log" 22 "github.com/polarismesh/polaris/common/model" 23 ) 24 25 type InitOption func(svr *BaseGrpcServer) 26 27 // WithModule set bz module 28 func WithModule(bz model.BzModule) InitOption { 29 return func(svr *BaseGrpcServer) { 30 svr.bz = bz 31 } 32 } 33 34 // WithProtocol 35 func WithProtocol(protocol string) InitOption { 36 return func(svr *BaseGrpcServer) { 37 svr.protocol = protocol 38 } 39 } 40 41 // WithProtobufCache 42 func WithProtobufCache(cache Cache) InitOption { 43 return func(svr *BaseGrpcServer) { 44 svr.cache = cache 45 } 46 } 47 48 // WithMessageToCacheObject 49 func WithMessageToCacheObject(convert MessageToCache) InitOption { 50 return func(svr *BaseGrpcServer) { 51 svr.convert = convert 52 } 53 } 54 55 // WithLogger 56 func WithLogger(log *commonlog.Scope) InitOption { 57 return func(svr *BaseGrpcServer) { 58 svr.log = log 59 } 60 }