// Copyright 2016 gRPC authors. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0 // protoc v3.3.0 // source: benchmark/grpc_testing/control.proto package grpc_testing import ( proto "github.com/golang/protobuf/proto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This is a compile-time assertion that a sufficiently up-to-date version // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 type ClientType int32 const ( ClientType_SYNC_CLIENT ClientType = 0 ClientType_ASYNC_CLIENT ClientType = 1 ) // Enum value maps for ClientType. var ( ClientType_name = map[int32]string{ 0: "SYNC_CLIENT", 1: "ASYNC_CLIENT", } ClientType_value = map[string]int32{ "SYNC_CLIENT": 0, "ASYNC_CLIENT": 1, } ) func (x ClientType) Enum() *ClientType { p := new(ClientType) *p = x return p } func (x ClientType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ClientType) Descriptor() protoreflect.EnumDescriptor { return file_benchmark_grpc_testing_control_proto_enumTypes[0].Descriptor() } func (ClientType) Type() protoreflect.EnumType { return &file_benchmark_grpc_testing_control_proto_enumTypes[0] } func (x ClientType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ClientType.Descriptor instead. func (ClientType) EnumDescriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{0} } type ServerType int32 const ( ServerType_SYNC_SERVER ServerType = 0 ServerType_ASYNC_SERVER ServerType = 1 ServerType_ASYNC_GENERIC_SERVER ServerType = 2 ) // Enum value maps for ServerType. var ( ServerType_name = map[int32]string{ 0: "SYNC_SERVER", 1: "ASYNC_SERVER", 2: "ASYNC_GENERIC_SERVER", } ServerType_value = map[string]int32{ "SYNC_SERVER": 0, "ASYNC_SERVER": 1, "ASYNC_GENERIC_SERVER": 2, } ) func (x ServerType) Enum() *ServerType { p := new(ServerType) *p = x return p } func (x ServerType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ServerType) Descriptor() protoreflect.EnumDescriptor { return file_benchmark_grpc_testing_control_proto_enumTypes[1].Descriptor() } func (ServerType) Type() protoreflect.EnumType { return &file_benchmark_grpc_testing_control_proto_enumTypes[1] } func (x ServerType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ServerType.Descriptor instead. func (ServerType) EnumDescriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{1} } type RpcType int32 const ( RpcType_UNARY RpcType = 0 RpcType_STREAMING RpcType = 1 ) // Enum value maps for RpcType. var ( RpcType_name = map[int32]string{ 0: "UNARY", 1: "STREAMING", } RpcType_value = map[string]int32{ "UNARY": 0, "STREAMING": 1, } ) func (x RpcType) Enum() *RpcType { p := new(RpcType) *p = x return p } func (x RpcType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RpcType) Descriptor() protoreflect.EnumDescriptor { return file_benchmark_grpc_testing_control_proto_enumTypes[2].Descriptor() } func (RpcType) Type() protoreflect.EnumType { return &file_benchmark_grpc_testing_control_proto_enumTypes[2] } func (x RpcType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RpcType.Descriptor instead. func (RpcType) EnumDescriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{2} } // Parameters of poisson process distribution, which is a good representation // of activity coming in from independent identical stationary sources. type PoissonParams struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The rate of arrivals (a.k.a. lambda parameter of the exp distribution). OfferedLoad float64 `protobuf:"fixed64,1,opt,name=offered_load,json=offeredLoad,proto3" json:"offered_load,omitempty"` } func (x *PoissonParams) Reset() { *x = PoissonParams{} if protoimpl.UnsafeEnabled { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PoissonParams) String() string { return protoimpl.X.MessageStringOf(x) } func (*PoissonParams) ProtoMessage() {} func (x *PoissonParams) ProtoReflect() protoreflect.Message { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PoissonParams.ProtoReflect.Descriptor instead. func (*PoissonParams) Descriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{0} } func (x *PoissonParams) GetOfferedLoad() float64 { if x != nil { return x.OfferedLoad } return 0 } type UniformParams struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields InterarrivalLo float64 `protobuf:"fixed64,1,opt,name=interarrival_lo,json=interarrivalLo,proto3" json:"interarrival_lo,omitempty"` InterarrivalHi float64 `protobuf:"fixed64,2,opt,name=interarrival_hi,json=interarrivalHi,proto3" json:"interarrival_hi,omitempty"` } func (x *UniformParams) Reset() { *x = UniformParams{} if protoimpl.UnsafeEnabled { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UniformParams) String() string { return protoimpl.X.MessageStringOf(x) } func (*UniformParams) ProtoMessage() {} func (x *UniformParams) ProtoReflect() protoreflect.Message { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UniformParams.ProtoReflect.Descriptor instead. func (*UniformParams) Descriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{1} } func (x *UniformParams) GetInterarrivalLo() float64 { if x != nil { return x.InterarrivalLo } return 0 } func (x *UniformParams) GetInterarrivalHi() float64 { if x != nil { return x.InterarrivalHi } return 0 } type DeterministicParams struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OfferedLoad float64 `protobuf:"fixed64,1,opt,name=offered_load,json=offeredLoad,proto3" json:"offered_load,omitempty"` } func (x *DeterministicParams) Reset() { *x = DeterministicParams{} if protoimpl.UnsafeEnabled { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeterministicParams) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeterministicParams) ProtoMessage() {} func (x *DeterministicParams) ProtoReflect() protoreflect.Message { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DeterministicParams.ProtoReflect.Descriptor instead. func (*DeterministicParams) Descriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{2} } func (x *DeterministicParams) GetOfferedLoad() float64 { if x != nil { return x.OfferedLoad } return 0 } type ParetoParams struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields InterarrivalBase float64 `protobuf:"fixed64,1,opt,name=interarrival_base,json=interarrivalBase,proto3" json:"interarrival_base,omitempty"` Alpha float64 `protobuf:"fixed64,2,opt,name=alpha,proto3" json:"alpha,omitempty"` } func (x *ParetoParams) Reset() { *x = ParetoParams{} if protoimpl.UnsafeEnabled { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ParetoParams) String() string { return protoimpl.X.MessageStringOf(x) } func (*ParetoParams) ProtoMessage() {} func (x *ParetoParams) ProtoReflect() protoreflect.Message { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ParetoParams.ProtoReflect.Descriptor instead. func (*ParetoParams) Descriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{3} } func (x *ParetoParams) GetInterarrivalBase() float64 { if x != nil { return x.InterarrivalBase } return 0 } func (x *ParetoParams) GetAlpha() float64 { if x != nil { return x.Alpha } return 0 } // Once an RPC finishes, immediately start a new one. // No configuration parameters needed. type ClosedLoopParams struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ClosedLoopParams) Reset() { *x = ClosedLoopParams{} if protoimpl.UnsafeEnabled { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClosedLoopParams) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClosedLoopParams) ProtoMessage() {} func (x *ClosedLoopParams) ProtoReflect() protoreflect.Message { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClosedLoopParams.ProtoReflect.Descriptor instead. func (*ClosedLoopParams) Descriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{4} } type LoadParams struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Load: // *LoadParams_ClosedLoop // *LoadParams_Poisson // *LoadParams_Uniform // *LoadParams_Determ // *LoadParams_Pareto Load isLoadParams_Load `protobuf_oneof:"load"` } func (x *LoadParams) Reset() { *x = LoadParams{} if protoimpl.UnsafeEnabled { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LoadParams) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoadParams) ProtoMessage() {} func (x *LoadParams) ProtoReflect() protoreflect.Message { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LoadParams.ProtoReflect.Descriptor instead. func (*LoadParams) Descriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{5} } func (m *LoadParams) GetLoad() isLoadParams_Load { if m != nil { return m.Load } return nil } func (x *LoadParams) GetClosedLoop() *ClosedLoopParams { if x, ok := x.GetLoad().(*LoadParams_ClosedLoop); ok { return x.ClosedLoop } return nil } func (x *LoadParams) GetPoisson() *PoissonParams { if x, ok := x.GetLoad().(*LoadParams_Poisson); ok { return x.Poisson } return nil } func (x *LoadParams) GetUniform() *UniformParams { if x, ok := x.GetLoad().(*LoadParams_Uniform); ok { return x.Uniform } return nil } func (x *LoadParams) GetDeterm() *DeterministicParams { if x, ok := x.GetLoad().(*LoadParams_Determ); ok { return x.Determ } return nil } func (x *LoadParams) GetPareto() *ParetoParams { if x, ok := x.GetLoad().(*LoadParams_Pareto); ok { return x.Pareto } return nil } type isLoadParams_Load interface { isLoadParams_Load() } type LoadParams_ClosedLoop struct { ClosedLoop *ClosedLoopParams `protobuf:"bytes,1,opt,name=closed_loop,json=closedLoop,proto3,oneof"` } type LoadParams_Poisson struct { Poisson *PoissonParams `protobuf:"bytes,2,opt,name=poisson,proto3,oneof"` } type LoadParams_Uniform struct { Uniform *UniformParams `protobuf:"bytes,3,opt,name=uniform,proto3,oneof"` } type LoadParams_Determ struct { Determ *DeterministicParams `protobuf:"bytes,4,opt,name=determ,proto3,oneof"` } type LoadParams_Pareto struct { Pareto *ParetoParams `protobuf:"bytes,5,opt,name=pareto,proto3,oneof"` } func (*LoadParams_ClosedLoop) isLoadParams_Load() {} func (*LoadParams_Poisson) isLoadParams_Load() {} func (*LoadParams_Uniform) isLoadParams_Load() {} func (*LoadParams_Determ) isLoadParams_Load() {} func (*LoadParams_Pareto) isLoadParams_Load() {} // presence of SecurityParams implies use of TLS type SecurityParams struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UseTestCa bool `protobuf:"varint,1,opt,name=use_test_ca,json=useTestCa,proto3" json:"use_test_ca,omitempty"` ServerHostOverride string `protobuf:"bytes,2,opt,name=server_host_override,json=serverHostOverride,proto3" json:"server_host_override,omitempty"` } func (x *SecurityParams) Reset() { *x = SecurityParams{} if protoimpl.UnsafeEnabled { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SecurityParams) String() string { return protoimpl.X.MessageStringOf(x) } func (*SecurityParams) ProtoMessage() {} func (x *SecurityParams) ProtoReflect() protoreflect.Message { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SecurityParams.ProtoReflect.Descriptor instead. func (*SecurityParams) Descriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{6} } func (x *SecurityParams) GetUseTestCa() bool { if x != nil { return x.UseTestCa } return false } func (x *SecurityParams) GetServerHostOverride() string { if x != nil { return x.ServerHostOverride } return "" } type ClientConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // List of targets to connect to. At least one target needs to be specified. ServerTargets []string `protobuf:"bytes,1,rep,name=server_targets,json=serverTargets,proto3" json:"server_targets,omitempty"` ClientType ClientType `protobuf:"varint,2,opt,name=client_type,json=clientType,proto3,enum=grpc.testing.ClientType" json:"client_type,omitempty"` SecurityParams *SecurityParams `protobuf:"bytes,3,opt,name=security_params,json=securityParams,proto3" json:"security_params,omitempty"` // How many concurrent RPCs to start for each channel. // For synchronous client, use a separate thread for each outstanding RPC. OutstandingRpcsPerChannel int32 `protobuf:"varint,4,opt,name=outstanding_rpcs_per_channel,json=outstandingRpcsPerChannel,proto3" json:"outstanding_rpcs_per_channel,omitempty"` // Number of independent client channels to create. // i-th channel will connect to server_target[i % server_targets.size()] ClientChannels int32 `protobuf:"varint,5,opt,name=client_channels,json=clientChannels,proto3" json:"client_channels,omitempty"` // Only for async client. Number of threads to use to start/manage RPCs. AsyncClientThreads int32 `protobuf:"varint,7,opt,name=async_client_threads,json=asyncClientThreads,proto3" json:"async_client_threads,omitempty"` RpcType RpcType `protobuf:"varint,8,opt,name=rpc_type,json=rpcType,proto3,enum=grpc.testing.RpcType" json:"rpc_type,omitempty"` // The requested load for the entire client (aggregated over all the threads). LoadParams *LoadParams `protobuf:"bytes,10,opt,name=load_params,json=loadParams,proto3" json:"load_params,omitempty"` PayloadConfig *PayloadConfig `protobuf:"bytes,11,opt,name=payload_config,json=payloadConfig,proto3" json:"payload_config,omitempty"` HistogramParams *HistogramParams `protobuf:"bytes,12,opt,name=histogram_params,json=histogramParams,proto3" json:"histogram_params,omitempty"` // Specify the cores we should run the client on, if desired CoreList []int32 `protobuf:"varint,13,rep,packed,name=core_list,json=coreList,proto3" json:"core_list,omitempty"` CoreLimit int32 `protobuf:"varint,14,opt,name=core_limit,json=coreLimit,proto3" json:"core_limit,omitempty"` } func (x *ClientConfig) Reset() { *x = ClientConfig{} if protoimpl.UnsafeEnabled { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClientConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientConfig) ProtoMessage() {} func (x *ClientConfig) ProtoReflect() protoreflect.Message { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClientConfig.ProtoReflect.Descriptor instead. func (*ClientConfig) Descriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{7} } func (x *ClientConfig) GetServerTargets() []string { if x != nil { return x.ServerTargets } return nil } func (x *ClientConfig) GetClientType() ClientType { if x != nil { return x.ClientType } return ClientType_SYNC_CLIENT } func (x *ClientConfig) GetSecurityParams() *SecurityParams { if x != nil { return x.SecurityParams } return nil } func (x *ClientConfig) GetOutstandingRpcsPerChannel() int32 { if x != nil { return x.OutstandingRpcsPerChannel } return 0 } func (x *ClientConfig) GetClientChannels() int32 { if x != nil { return x.ClientChannels } return 0 } func (x *ClientConfig) GetAsyncClientThreads() int32 { if x != nil { return x.AsyncClientThreads } return 0 } func (x *ClientConfig) GetRpcType() RpcType { if x != nil { return x.RpcType } return RpcType_UNARY } func (x *ClientConfig) GetLoadParams() *LoadParams { if x != nil { return x.LoadParams } return nil } func (x *ClientConfig) GetPayloadConfig() *PayloadConfig { if x != nil { return x.PayloadConfig } return nil } func (x *ClientConfig) GetHistogramParams() *HistogramParams { if x != nil { return x.HistogramParams } return nil } func (x *ClientConfig) GetCoreList() []int32 { if x != nil { return x.CoreList } return nil } func (x *ClientConfig) GetCoreLimit() int32 { if x != nil { return x.CoreLimit } return 0 } type ClientStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Stats *ClientStats `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"` } func (x *ClientStatus) Reset() { *x = ClientStatus{} if protoimpl.UnsafeEnabled { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClientStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientStatus) ProtoMessage() {} func (x *ClientStatus) ProtoReflect() protoreflect.Message { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClientStatus.ProtoReflect.Descriptor instead. func (*ClientStatus) Descriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{8} } func (x *ClientStatus) GetStats() *ClientStats { if x != nil { return x.Stats } return nil } // Request current stats type Mark struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // if true, the stats will be reset after taking their snapshot. Reset_ bool `protobuf:"varint,1,opt,name=reset,proto3" json:"reset,omitempty"` } func (x *Mark) Reset() { *x = Mark{} if protoimpl.UnsafeEnabled { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Mark) String() string { return protoimpl.X.MessageStringOf(x) } func (*Mark) ProtoMessage() {} func (x *Mark) ProtoReflect() protoreflect.Message { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Mark.ProtoReflect.Descriptor instead. func (*Mark) Descriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{9} } func (x *Mark) GetReset_() bool { if x != nil { return x.Reset_ } return false } type ClientArgs struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Argtype: // *ClientArgs_Setup // *ClientArgs_Mark Argtype isClientArgs_Argtype `protobuf_oneof:"argtype"` } func (x *ClientArgs) Reset() { *x = ClientArgs{} if protoimpl.UnsafeEnabled { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClientArgs) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientArgs) ProtoMessage() {} func (x *ClientArgs) ProtoReflect() protoreflect.Message { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClientArgs.ProtoReflect.Descriptor instead. func (*ClientArgs) Descriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{10} } func (m *ClientArgs) GetArgtype() isClientArgs_Argtype { if m != nil { return m.Argtype } return nil } func (x *ClientArgs) GetSetup() *ClientConfig { if x, ok := x.GetArgtype().(*ClientArgs_Setup); ok { return x.Setup } return nil } func (x *ClientArgs) GetMark() *Mark { if x, ok := x.GetArgtype().(*ClientArgs_Mark); ok { return x.Mark } return nil } type isClientArgs_Argtype interface { isClientArgs_Argtype() } type ClientArgs_Setup struct { Setup *ClientConfig `protobuf:"bytes,1,opt,name=setup,proto3,oneof"` } type ClientArgs_Mark struct { Mark *Mark `protobuf:"bytes,2,opt,name=mark,proto3,oneof"` } func (*ClientArgs_Setup) isClientArgs_Argtype() {} func (*ClientArgs_Mark) isClientArgs_Argtype() {} type ServerConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ServerType ServerType `protobuf:"varint,1,opt,name=server_type,json=serverType,proto3,enum=grpc.testing.ServerType" json:"server_type,omitempty"` SecurityParams *SecurityParams `protobuf:"bytes,2,opt,name=security_params,json=securityParams,proto3" json:"security_params,omitempty"` // Port on which to listen. Zero means pick unused port. Port int32 `protobuf:"varint,4,opt,name=port,proto3" json:"port,omitempty"` // Only for async server. Number of threads used to serve the requests. AsyncServerThreads int32 `protobuf:"varint,7,opt,name=async_server_threads,json=asyncServerThreads,proto3" json:"async_server_threads,omitempty"` // Specify the number of cores to limit server to, if desired CoreLimit int32 `protobuf:"varint,8,opt,name=core_limit,json=coreLimit,proto3" json:"core_limit,omitempty"` // payload config, used in generic server PayloadConfig *PayloadConfig `protobuf:"bytes,9,opt,name=payload_config,json=payloadConfig,proto3" json:"payload_config,omitempty"` // Specify the cores we should run the server on, if desired CoreList []int32 `protobuf:"varint,10,rep,packed,name=core_list,json=coreList,proto3" json:"core_list,omitempty"` } func (x *ServerConfig) Reset() { *x = ServerConfig{} if protoimpl.UnsafeEnabled { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ServerConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ServerConfig) ProtoMessage() {} func (x *ServerConfig) ProtoReflect() protoreflect.Message { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ServerConfig.ProtoReflect.Descriptor instead. func (*ServerConfig) Descriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{11} } func (x *ServerConfig) GetServerType() ServerType { if x != nil { return x.ServerType } return ServerType_SYNC_SERVER } func (x *ServerConfig) GetSecurityParams() *SecurityParams { if x != nil { return x.SecurityParams } return nil } func (x *ServerConfig) GetPort() int32 { if x != nil { return x.Port } return 0 } func (x *ServerConfig) GetAsyncServerThreads() int32 { if x != nil { return x.AsyncServerThreads } return 0 } func (x *ServerConfig) GetCoreLimit() int32 { if x != nil { return x.CoreLimit } return 0 } func (x *ServerConfig) GetPayloadConfig() *PayloadConfig { if x != nil { return x.PayloadConfig } return nil } func (x *ServerConfig) GetCoreList() []int32 { if x != nil { return x.CoreList } return nil } type ServerArgs struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Argtype: // *ServerArgs_Setup // *ServerArgs_Mark Argtype isServerArgs_Argtype `protobuf_oneof:"argtype"` } func (x *ServerArgs) Reset() { *x = ServerArgs{} if protoimpl.UnsafeEnabled { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ServerArgs) String() string { return protoimpl.X.MessageStringOf(x) } func (*ServerArgs) ProtoMessage() {} func (x *ServerArgs) ProtoReflect() protoreflect.Message { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ServerArgs.ProtoReflect.Descriptor instead. func (*ServerArgs) Descriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{12} } func (m *ServerArgs) GetArgtype() isServerArgs_Argtype { if m != nil { return m.Argtype } return nil } func (x *ServerArgs) GetSetup() *ServerConfig { if x, ok := x.GetArgtype().(*ServerArgs_Setup); ok { return x.Setup } return nil } func (x *ServerArgs) GetMark() *Mark { if x, ok := x.GetArgtype().(*ServerArgs_Mark); ok { return x.Mark } return nil } type isServerArgs_Argtype interface { isServerArgs_Argtype() } type ServerArgs_Setup struct { Setup *ServerConfig `protobuf:"bytes,1,opt,name=setup,proto3,oneof"` } type ServerArgs_Mark struct { Mark *Mark `protobuf:"bytes,2,opt,name=mark,proto3,oneof"` } func (*ServerArgs_Setup) isServerArgs_Argtype() {} func (*ServerArgs_Mark) isServerArgs_Argtype() {} type ServerStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Stats *ServerStats `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"` // the port bound by the server Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` // Number of cores available to the server Cores int32 `protobuf:"varint,3,opt,name=cores,proto3" json:"cores,omitempty"` } func (x *ServerStatus) Reset() { *x = ServerStatus{} if protoimpl.UnsafeEnabled { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ServerStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*ServerStatus) ProtoMessage() {} func (x *ServerStatus) ProtoReflect() protoreflect.Message { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ServerStatus.ProtoReflect.Descriptor instead. func (*ServerStatus) Descriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{13} } func (x *ServerStatus) GetStats() *ServerStats { if x != nil { return x.Stats } return nil } func (x *ServerStatus) GetPort() int32 { if x != nil { return x.Port } return 0 } func (x *ServerStatus) GetCores() int32 { if x != nil { return x.Cores } return 0 } type CoreRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CoreRequest) Reset() { *x = CoreRequest{} if protoimpl.UnsafeEnabled { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CoreRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CoreRequest) ProtoMessage() {} func (x *CoreRequest) ProtoReflect() protoreflect.Message { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CoreRequest.ProtoReflect.Descriptor instead. func (*CoreRequest) Descriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{14} } type CoreResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Number of cores available on the server Cores int32 `protobuf:"varint,1,opt,name=cores,proto3" json:"cores,omitempty"` } func (x *CoreResponse) Reset() { *x = CoreResponse{} if protoimpl.UnsafeEnabled { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CoreResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CoreResponse) ProtoMessage() {} func (x *CoreResponse) ProtoReflect() protoreflect.Message { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CoreResponse.ProtoReflect.Descriptor instead. func (*CoreResponse) Descriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{15} } func (x *CoreResponse) GetCores() int32 { if x != nil { return x.Cores } return 0 } type Void struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Void) Reset() { *x = Void{} if protoimpl.UnsafeEnabled { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Void) String() string { return protoimpl.X.MessageStringOf(x) } func (*Void) ProtoMessage() {} func (x *Void) ProtoReflect() protoreflect.Message { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Void.ProtoReflect.Descriptor instead. func (*Void) Descriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{16} } // A single performance scenario: input to qps_json_driver type Scenario struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Human readable name for this scenario Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Client configuration ClientConfig *ClientConfig `protobuf:"bytes,2,opt,name=client_config,json=clientConfig,proto3" json:"client_config,omitempty"` // Number of clients to start for the test NumClients int32 `protobuf:"varint,3,opt,name=num_clients,json=numClients,proto3" json:"num_clients,omitempty"` // Server configuration ServerConfig *ServerConfig `protobuf:"bytes,4,opt,name=server_config,json=serverConfig,proto3" json:"server_config,omitempty"` // Number of servers to start for the test NumServers int32 `protobuf:"varint,5,opt,name=num_servers,json=numServers,proto3" json:"num_servers,omitempty"` // Warmup period, in seconds WarmupSeconds int32 `protobuf:"varint,6,opt,name=warmup_seconds,json=warmupSeconds,proto3" json:"warmup_seconds,omitempty"` // Benchmark time, in seconds BenchmarkSeconds int32 `protobuf:"varint,7,opt,name=benchmark_seconds,json=benchmarkSeconds,proto3" json:"benchmark_seconds,omitempty"` // Number of workers to spawn locally (usually zero) SpawnLocalWorkerCount int32 `protobuf:"varint,8,opt,name=spawn_local_worker_count,json=spawnLocalWorkerCount,proto3" json:"spawn_local_worker_count,omitempty"` } func (x *Scenario) Reset() { *x = Scenario{} if protoimpl.UnsafeEnabled { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Scenario) String() string { return protoimpl.X.MessageStringOf(x) } func (*Scenario) ProtoMessage() {} func (x *Scenario) ProtoReflect() protoreflect.Message { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Scenario.ProtoReflect.Descriptor instead. func (*Scenario) Descriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{17} } func (x *Scenario) GetName() string { if x != nil { return x.Name } return "" } func (x *Scenario) GetClientConfig() *ClientConfig { if x != nil { return x.ClientConfig } return nil } func (x *Scenario) GetNumClients() int32 { if x != nil { return x.NumClients } return 0 } func (x *Scenario) GetServerConfig() *ServerConfig { if x != nil { return x.ServerConfig } return nil } func (x *Scenario) GetNumServers() int32 { if x != nil { return x.NumServers } return 0 } func (x *Scenario) GetWarmupSeconds() int32 { if x != nil { return x.WarmupSeconds } return 0 } func (x *Scenario) GetBenchmarkSeconds() int32 { if x != nil { return x.BenchmarkSeconds } return 0 } func (x *Scenario) GetSpawnLocalWorkerCount() int32 { if x != nil { return x.SpawnLocalWorkerCount } return 0 } // A set of scenarios to be run with qps_json_driver type Scenarios struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Scenarios []*Scenario `protobuf:"bytes,1,rep,name=scenarios,proto3" json:"scenarios,omitempty"` } func (x *Scenarios) Reset() { *x = Scenarios{} if protoimpl.UnsafeEnabled { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Scenarios) String() string { return protoimpl.X.MessageStringOf(x) } func (*Scenarios) ProtoMessage() {} func (x *Scenarios) ProtoReflect() protoreflect.Message { mi := &file_benchmark_grpc_testing_control_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Scenarios.ProtoReflect.Descriptor instead. func (*Scenarios) Descriptor() ([]byte, []int) { return file_benchmark_grpc_testing_control_proto_rawDescGZIP(), []int{18} } func (x *Scenarios) GetScenarios() []*Scenario { if x != nil { return x.Scenarios } return nil } var File_benchmark_grpc_testing_control_proto protoreflect.FileDescriptor var file_benchmark_grpc_testing_control_proto_rawDesc = []byte{ 0x0a, 0x24, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x1a, 0x25, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x0d, 0x50, 0x6f, 0x69, 0x73, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x4c, 0x6f, 0x61, 0x64, 0x22, 0x61, 0x0a, 0x0d, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x72, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x5f, 0x6c, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x72, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x4c, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x72, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x5f, 0x68, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x72, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x48, 0x69, 0x22, 0x38, 0x0a, 0x13, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x4c, 0x6f, 0x61, 0x64, 0x22, 0x51, 0x0a, 0x0c, 0x50, 0x61, 0x72, 0x65, 0x74, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x72, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x72, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x42, 0x61, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x22, 0x12, 0x0a, 0x10, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x4c, 0x6f, 0x6f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xbc, 0x02, 0x0a, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x41, 0x0a, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x4c, 0x6f, 0x6f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x4c, 0x6f, 0x6f, 0x70, 0x12, 0x37, 0x0a, 0x07, 0x70, 0x6f, 0x69, 0x73, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x6f, 0x69, 0x73, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x00, 0x52, 0x07, 0x70, 0x6f, 0x69, 0x73, 0x73, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x07, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x00, 0x52, 0x07, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x3b, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x12, 0x34, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x74, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x61, 0x72, 0x65, 0x74, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x00, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x74, 0x6f, 0x42, 0x06, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x62, 0x0a, 0x0e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x75, 0x73, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x6f, 0x73, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0x8a, 0x05, 0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x70, 0x63, 0x73, 0x50, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x72, 0x70, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x52, 0x70, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x72, 0x70, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x0a, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 0x0a, 0x10, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x0f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x3f, 0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 0x1c, 0x0a, 0x04, 0x4d, 0x61, 0x72, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x72, 0x65, 0x73, 0x65, 0x74, 0x22, 0x75, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x72, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x05, 0x73, 0x65, 0x74, 0x75, 0x70, 0x12, 0x28, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, 0x22, 0xd6, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x42, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x75, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x72, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x05, 0x73, 0x65, 0x74, 0x75, 0x70, 0x12, 0x28, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, 0x22, 0x69, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x22, 0x0d, 0x0a, 0x0b, 0x43, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x24, 0x0a, 0x0c, 0x43, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x22, 0x06, 0x0a, 0x04, 0x56, 0x6f, 0x69, 0x64, 0x22, 0xef, 0x02, 0x0a, 0x08, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x77, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x41, 0x0a, 0x09, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x73, 0x12, 0x34, 0x0a, 0x09, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x52, 0x09, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x73, 0x2a, 0x2f, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x2a, 0x49, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x02, 0x2a, 0x23, 0x0a, 0x07, 0x52, 0x70, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x42, 0x2f, 0x5a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_benchmark_grpc_testing_control_proto_rawDescOnce sync.Once file_benchmark_grpc_testing_control_proto_rawDescData = file_benchmark_grpc_testing_control_proto_rawDesc ) func file_benchmark_grpc_testing_control_proto_rawDescGZIP() []byte { file_benchmark_grpc_testing_control_proto_rawDescOnce.Do(func() { file_benchmark_grpc_testing_control_proto_rawDescData = protoimpl.X.CompressGZIP(file_benchmark_grpc_testing_control_proto_rawDescData) }) return file_benchmark_grpc_testing_control_proto_rawDescData } var file_benchmark_grpc_testing_control_proto_enumTypes = make([]protoimpl.EnumInfo, 3) var file_benchmark_grpc_testing_control_proto_msgTypes = make([]protoimpl.MessageInfo, 19) var file_benchmark_grpc_testing_control_proto_goTypes = []interface{}{ (ClientType)(0), // 0: grpc.testing.ClientType (ServerType)(0), // 1: grpc.testing.ServerType (RpcType)(0), // 2: grpc.testing.RpcType (*PoissonParams)(nil), // 3: grpc.testing.PoissonParams (*UniformParams)(nil), // 4: grpc.testing.UniformParams (*DeterministicParams)(nil), // 5: grpc.testing.DeterministicParams (*ParetoParams)(nil), // 6: grpc.testing.ParetoParams (*ClosedLoopParams)(nil), // 7: grpc.testing.ClosedLoopParams (*LoadParams)(nil), // 8: grpc.testing.LoadParams (*SecurityParams)(nil), // 9: grpc.testing.SecurityParams (*ClientConfig)(nil), // 10: grpc.testing.ClientConfig (*ClientStatus)(nil), // 11: grpc.testing.ClientStatus (*Mark)(nil), // 12: grpc.testing.Mark (*ClientArgs)(nil), // 13: grpc.testing.ClientArgs (*ServerConfig)(nil), // 14: grpc.testing.ServerConfig (*ServerArgs)(nil), // 15: grpc.testing.ServerArgs (*ServerStatus)(nil), // 16: grpc.testing.ServerStatus (*CoreRequest)(nil), // 17: grpc.testing.CoreRequest (*CoreResponse)(nil), // 18: grpc.testing.CoreResponse (*Void)(nil), // 19: grpc.testing.Void (*Scenario)(nil), // 20: grpc.testing.Scenario (*Scenarios)(nil), // 21: grpc.testing.Scenarios (*PayloadConfig)(nil), // 22: grpc.testing.PayloadConfig (*HistogramParams)(nil), // 23: grpc.testing.HistogramParams (*ClientStats)(nil), // 24: grpc.testing.ClientStats (*ServerStats)(nil), // 25: grpc.testing.ServerStats } var file_benchmark_grpc_testing_control_proto_depIdxs = []int32{ 7, // 0: grpc.testing.LoadParams.closed_loop:type_name -> grpc.testing.ClosedLoopParams 3, // 1: grpc.testing.LoadParams.poisson:type_name -> grpc.testing.PoissonParams 4, // 2: grpc.testing.LoadParams.uniform:type_name -> grpc.testing.UniformParams 5, // 3: grpc.testing.LoadParams.determ:type_name -> grpc.testing.DeterministicParams 6, // 4: grpc.testing.LoadParams.pareto:type_name -> grpc.testing.ParetoParams 0, // 5: grpc.testing.ClientConfig.client_type:type_name -> grpc.testing.ClientType 9, // 6: grpc.testing.ClientConfig.security_params:type_name -> grpc.testing.SecurityParams 2, // 7: grpc.testing.ClientConfig.rpc_type:type_name -> grpc.testing.RpcType 8, // 8: grpc.testing.ClientConfig.load_params:type_name -> grpc.testing.LoadParams 22, // 9: grpc.testing.ClientConfig.payload_config:type_name -> grpc.testing.PayloadConfig 23, // 10: grpc.testing.ClientConfig.histogram_params:type_name -> grpc.testing.HistogramParams 24, // 11: grpc.testing.ClientStatus.stats:type_name -> grpc.testing.ClientStats 10, // 12: grpc.testing.ClientArgs.setup:type_name -> grpc.testing.ClientConfig 12, // 13: grpc.testing.ClientArgs.mark:type_name -> grpc.testing.Mark 1, // 14: grpc.testing.ServerConfig.server_type:type_name -> grpc.testing.ServerType 9, // 15: grpc.testing.ServerConfig.security_params:type_name -> grpc.testing.SecurityParams 22, // 16: grpc.testing.ServerConfig.payload_config:type_name -> grpc.testing.PayloadConfig 14, // 17: grpc.testing.ServerArgs.setup:type_name -> grpc.testing.ServerConfig 12, // 18: grpc.testing.ServerArgs.mark:type_name -> grpc.testing.Mark 25, // 19: grpc.testing.ServerStatus.stats:type_name -> grpc.testing.ServerStats 10, // 20: grpc.testing.Scenario.client_config:type_name -> grpc.testing.ClientConfig 14, // 21: grpc.testing.Scenario.server_config:type_name -> grpc.testing.ServerConfig 20, // 22: grpc.testing.Scenarios.scenarios:type_name -> grpc.testing.Scenario 23, // [23:23] is the sub-list for method output_type 23, // [23:23] is the sub-list for method input_type 23, // [23:23] is the sub-list for extension type_name 23, // [23:23] is the sub-list for extension extendee 0, // [0:23] is the sub-list for field type_name } func init() { file_benchmark_grpc_testing_control_proto_init() } func file_benchmark_grpc_testing_control_proto_init() { if File_benchmark_grpc_testing_control_proto != nil { return } file_benchmark_grpc_testing_payloads_proto_init() file_benchmark_grpc_testing_stats_proto_init() if !protoimpl.UnsafeEnabled { file_benchmark_grpc_testing_control_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PoissonParams); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_benchmark_grpc_testing_control_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UniformParams); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_benchmark_grpc_testing_control_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeterministicParams); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_benchmark_grpc_testing_control_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ParetoParams); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_benchmark_grpc_testing_control_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClosedLoopParams); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_benchmark_grpc_testing_control_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoadParams); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_benchmark_grpc_testing_control_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityParams); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_benchmark_grpc_testing_control_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_benchmark_grpc_testing_control_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_benchmark_grpc_testing_control_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Mark); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_benchmark_grpc_testing_control_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientArgs); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_benchmark_grpc_testing_control_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServerConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_benchmark_grpc_testing_control_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServerArgs); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_benchmark_grpc_testing_control_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServerStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_benchmark_grpc_testing_control_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CoreRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_benchmark_grpc_testing_control_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CoreResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_benchmark_grpc_testing_control_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Void); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_benchmark_grpc_testing_control_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Scenario); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_benchmark_grpc_testing_control_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Scenarios); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_benchmark_grpc_testing_control_proto_msgTypes[5].OneofWrappers = []interface{}{ (*LoadParams_ClosedLoop)(nil), (*LoadParams_Poisson)(nil), (*LoadParams_Uniform)(nil), (*LoadParams_Determ)(nil), (*LoadParams_Pareto)(nil), } file_benchmark_grpc_testing_control_proto_msgTypes[10].OneofWrappers = []interface{}{ (*ClientArgs_Setup)(nil), (*ClientArgs_Mark)(nil), } file_benchmark_grpc_testing_control_proto_msgTypes[12].OneofWrappers = []interface{}{ (*ServerArgs_Setup)(nil), (*ServerArgs_Mark)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_benchmark_grpc_testing_control_proto_rawDesc, NumEnums: 3, NumMessages: 19, NumExtensions: 0, NumServices: 0, }, GoTypes: file_benchmark_grpc_testing_control_proto_goTypes, DependencyIndexes: file_benchmark_grpc_testing_control_proto_depIdxs, EnumInfos: file_benchmark_grpc_testing_control_proto_enumTypes, MessageInfos: file_benchmark_grpc_testing_control_proto_msgTypes, }.Build() File_benchmark_grpc_testing_control_proto = out.File file_benchmark_grpc_testing_control_proto_rawDesc = nil file_benchmark_grpc_testing_control_proto_goTypes = nil file_benchmark_grpc_testing_control_proto_depIdxs = nil }