| // Copyright 2015 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.28.1 |
| // protoc v4.22.0 |
| // source: grpc/testing/control.proto |
| |
| package grpc_testing |
| |
| import ( |
| protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
| protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
| timestamppb "google.golang.org/protobuf/types/known/timestamppb" |
| 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) |
| ) |
| |
| type ClientType int32 |
| |
| const ( |
| // Many languages support a basic distinction between using |
| // sync or async client, and this allows the specification |
| ClientType_SYNC_CLIENT ClientType = 0 |
| ClientType_ASYNC_CLIENT ClientType = 1 |
| ClientType_OTHER_CLIENT ClientType = 2 // used for some language-specific variants |
| ClientType_CALLBACK_CLIENT ClientType = 3 |
| ) |
| |
| // Enum value maps for ClientType. |
| var ( |
| ClientType_name = map[int32]string{ |
| 0: "SYNC_CLIENT", |
| 1: "ASYNC_CLIENT", |
| 2: "OTHER_CLIENT", |
| 3: "CALLBACK_CLIENT", |
| } |
| ClientType_value = map[string]int32{ |
| "SYNC_CLIENT": 0, |
| "ASYNC_CLIENT": 1, |
| "OTHER_CLIENT": 2, |
| "CALLBACK_CLIENT": 3, |
| } |
| ) |
| |
| 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_grpc_testing_control_proto_enumTypes[0].Descriptor() |
| } |
| |
| func (ClientType) Type() protoreflect.EnumType { |
| return &file_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_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 |
| ServerType_OTHER_SERVER ServerType = 3 // used for some language-specific variants |
| ServerType_CALLBACK_SERVER ServerType = 4 |
| ) |
| |
| // Enum value maps for ServerType. |
| var ( |
| ServerType_name = map[int32]string{ |
| 0: "SYNC_SERVER", |
| 1: "ASYNC_SERVER", |
| 2: "ASYNC_GENERIC_SERVER", |
| 3: "OTHER_SERVER", |
| 4: "CALLBACK_SERVER", |
| } |
| ServerType_value = map[string]int32{ |
| "SYNC_SERVER": 0, |
| "ASYNC_SERVER": 1, |
| "ASYNC_GENERIC_SERVER": 2, |
| "OTHER_SERVER": 3, |
| "CALLBACK_SERVER": 4, |
| } |
| ) |
| |
| 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_grpc_testing_control_proto_enumTypes[1].Descriptor() |
| } |
| |
| func (ServerType) Type() protoreflect.EnumType { |
| return &file_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_grpc_testing_control_proto_rawDescGZIP(), []int{1} |
| } |
| |
| type RpcType int32 |
| |
| const ( |
| RpcType_UNARY RpcType = 0 |
| RpcType_STREAMING RpcType = 1 |
| RpcType_STREAMING_FROM_CLIENT RpcType = 2 |
| RpcType_STREAMING_FROM_SERVER RpcType = 3 |
| RpcType_STREAMING_BOTH_WAYS RpcType = 4 |
| ) |
| |
| // Enum value maps for RpcType. |
| var ( |
| RpcType_name = map[int32]string{ |
| 0: "UNARY", |
| 1: "STREAMING", |
| 2: "STREAMING_FROM_CLIENT", |
| 3: "STREAMING_FROM_SERVER", |
| 4: "STREAMING_BOTH_WAYS", |
| } |
| RpcType_value = map[string]int32{ |
| "UNARY": 0, |
| "STREAMING": 1, |
| "STREAMING_FROM_CLIENT": 2, |
| "STREAMING_FROM_SERVER": 3, |
| "STREAMING_BOTH_WAYS": 4, |
| } |
| ) |
| |
| 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_grpc_testing_control_proto_enumTypes[2].Descriptor() |
| } |
| |
| func (RpcType) Type() protoreflect.EnumType { |
| return &file_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_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_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_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_grpc_testing_control_proto_rawDescGZIP(), []int{0} |
| } |
| |
| func (x *PoissonParams) GetOfferedLoad() float64 { |
| if x != nil { |
| return x.OfferedLoad |
| } |
| 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_grpc_testing_control_proto_msgTypes[1] |
| 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_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 ClosedLoopParams.ProtoReflect.Descriptor instead. |
| func (*ClosedLoopParams) Descriptor() ([]byte, []int) { |
| return file_grpc_testing_control_proto_rawDescGZIP(), []int{1} |
| } |
| |
| type LoadParams struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Types that are assignable to Load: |
| // |
| // *LoadParams_ClosedLoop |
| // *LoadParams_Poisson |
| Load isLoadParams_Load `protobuf_oneof:"load"` |
| } |
| |
| func (x *LoadParams) Reset() { |
| *x = LoadParams{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_grpc_testing_control_proto_msgTypes[2] |
| 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_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 LoadParams.ProtoReflect.Descriptor instead. |
| func (*LoadParams) Descriptor() ([]byte, []int) { |
| return file_grpc_testing_control_proto_rawDescGZIP(), []int{2} |
| } |
| |
| 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 |
| } |
| |
| 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"` |
| } |
| |
| func (*LoadParams_ClosedLoop) isLoadParams_Load() {} |
| |
| func (*LoadParams_Poisson) 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"` |
| CredType string `protobuf:"bytes,3,opt,name=cred_type,json=credType,proto3" json:"cred_type,omitempty"` |
| } |
| |
| func (x *SecurityParams) Reset() { |
| *x = SecurityParams{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_grpc_testing_control_proto_msgTypes[3] |
| 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_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 SecurityParams.ProtoReflect.Descriptor instead. |
| func (*SecurityParams) Descriptor() ([]byte, []int) { |
| return file_grpc_testing_control_proto_rawDescGZIP(), []int{3} |
| } |
| |
| 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 "" |
| } |
| |
| func (x *SecurityParams) GetCredType() string { |
| if x != nil { |
| return x.CredType |
| } |
| return "" |
| } |
| |
| type ChannelArg struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Types that are assignable to Value: |
| // |
| // *ChannelArg_StrValue |
| // *ChannelArg_IntValue |
| Value isChannelArg_Value `protobuf_oneof:"value"` |
| } |
| |
| func (x *ChannelArg) Reset() { |
| *x = ChannelArg{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_grpc_testing_control_proto_msgTypes[4] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ChannelArg) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ChannelArg) ProtoMessage() {} |
| |
| func (x *ChannelArg) ProtoReflect() protoreflect.Message { |
| mi := &file_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 ChannelArg.ProtoReflect.Descriptor instead. |
| func (*ChannelArg) Descriptor() ([]byte, []int) { |
| return file_grpc_testing_control_proto_rawDescGZIP(), []int{4} |
| } |
| |
| func (x *ChannelArg) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (m *ChannelArg) GetValue() isChannelArg_Value { |
| if m != nil { |
| return m.Value |
| } |
| return nil |
| } |
| |
| func (x *ChannelArg) GetStrValue() string { |
| if x, ok := x.GetValue().(*ChannelArg_StrValue); ok { |
| return x.StrValue |
| } |
| return "" |
| } |
| |
| func (x *ChannelArg) GetIntValue() int32 { |
| if x, ok := x.GetValue().(*ChannelArg_IntValue); ok { |
| return x.IntValue |
| } |
| return 0 |
| } |
| |
| type isChannelArg_Value interface { |
| isChannelArg_Value() |
| } |
| |
| type ChannelArg_StrValue struct { |
| StrValue string `protobuf:"bytes,2,opt,name=str_value,json=strValue,proto3,oneof"` |
| } |
| |
| type ChannelArg_IntValue struct { |
| IntValue int32 `protobuf:"varint,3,opt,name=int_value,json=intValue,proto3,oneof"` |
| } |
| |
| func (*ChannelArg_StrValue) isChannelArg_Value() {} |
| |
| func (*ChannelArg_IntValue) isChannelArg_Value() {} |
| |
| 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"` |
| // If we use an OTHER_CLIENT client_type, this string gives more detail |
| OtherClientApi string `protobuf:"bytes,15,opt,name=other_client_api,json=otherClientApi,proto3" json:"other_client_api,omitempty"` |
| ChannelArgs []*ChannelArg `protobuf:"bytes,16,rep,name=channel_args,json=channelArgs,proto3" json:"channel_args,omitempty"` |
| // Number of threads that share each completion queue |
| ThreadsPerCq int32 `protobuf:"varint,17,opt,name=threads_per_cq,json=threadsPerCq,proto3" json:"threads_per_cq,omitempty"` |
| // Number of messages on a stream before it gets finished/restarted |
| MessagesPerStream int32 `protobuf:"varint,18,opt,name=messages_per_stream,json=messagesPerStream,proto3" json:"messages_per_stream,omitempty"` |
| // Use coalescing API when possible. |
| UseCoalesceApi bool `protobuf:"varint,19,opt,name=use_coalesce_api,json=useCoalesceApi,proto3" json:"use_coalesce_api,omitempty"` |
| // If 0, disabled. Else, specifies the period between gathering latency |
| // medians in milliseconds. |
| MedianLatencyCollectionIntervalMillis int32 `protobuf:"varint,20,opt,name=median_latency_collection_interval_millis,json=medianLatencyCollectionIntervalMillis,proto3" json:"median_latency_collection_interval_millis,omitempty"` |
| // Number of client processes. 0 indicates no restriction. |
| ClientProcesses int32 `protobuf:"varint,21,opt,name=client_processes,json=clientProcesses,proto3" json:"client_processes,omitempty"` |
| } |
| |
| func (x *ClientConfig) Reset() { |
| *x = ClientConfig{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_grpc_testing_control_proto_msgTypes[5] |
| 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_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 ClientConfig.ProtoReflect.Descriptor instead. |
| func (*ClientConfig) Descriptor() ([]byte, []int) { |
| return file_grpc_testing_control_proto_rawDescGZIP(), []int{5} |
| } |
| |
| 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 |
| } |
| |
| func (x *ClientConfig) GetOtherClientApi() string { |
| if x != nil { |
| return x.OtherClientApi |
| } |
| return "" |
| } |
| |
| func (x *ClientConfig) GetChannelArgs() []*ChannelArg { |
| if x != nil { |
| return x.ChannelArgs |
| } |
| return nil |
| } |
| |
| func (x *ClientConfig) GetThreadsPerCq() int32 { |
| if x != nil { |
| return x.ThreadsPerCq |
| } |
| return 0 |
| } |
| |
| func (x *ClientConfig) GetMessagesPerStream() int32 { |
| if x != nil { |
| return x.MessagesPerStream |
| } |
| return 0 |
| } |
| |
| func (x *ClientConfig) GetUseCoalesceApi() bool { |
| if x != nil { |
| return x.UseCoalesceApi |
| } |
| return false |
| } |
| |
| func (x *ClientConfig) GetMedianLatencyCollectionIntervalMillis() int32 { |
| if x != nil { |
| return x.MedianLatencyCollectionIntervalMillis |
| } |
| return 0 |
| } |
| |
| func (x *ClientConfig) GetClientProcesses() int32 { |
| if x != nil { |
| return x.ClientProcesses |
| } |
| 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_grpc_testing_control_proto_msgTypes[6] |
| 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_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 ClientStatus.ProtoReflect.Descriptor instead. |
| func (*ClientStatus) Descriptor() ([]byte, []int) { |
| return file_grpc_testing_control_proto_rawDescGZIP(), []int{6} |
| } |
| |
| 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_grpc_testing_control_proto_msgTypes[7] |
| 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_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 Mark.ProtoReflect.Descriptor instead. |
| func (*Mark) Descriptor() ([]byte, []int) { |
| return file_grpc_testing_control_proto_rawDescGZIP(), []int{7} |
| } |
| |
| 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_grpc_testing_control_proto_msgTypes[8] |
| 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_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 ClientArgs.ProtoReflect.Descriptor instead. |
| func (*ClientArgs) Descriptor() ([]byte, []int) { |
| return file_grpc_testing_control_proto_rawDescGZIP(), []int{8} |
| } |
| |
| 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. |
| // Note this must NOT be used in proto (non-generic) servers. For proto servers, |
| // 'response sizes' must be configured from the 'response_size' field of the |
| // 'SimpleRequest' objects in RPC requests. |
| 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"` |
| // If we use an OTHER_SERVER client_type, this string gives more detail |
| OtherServerApi string `protobuf:"bytes,11,opt,name=other_server_api,json=otherServerApi,proto3" json:"other_server_api,omitempty"` |
| // Number of threads that share each completion queue |
| ThreadsPerCq int32 `protobuf:"varint,12,opt,name=threads_per_cq,json=threadsPerCq,proto3" json:"threads_per_cq,omitempty"` |
| // Buffer pool size (no buffer pool specified if unset) |
| ResourceQuotaSize int32 `protobuf:"varint,1001,opt,name=resource_quota_size,json=resourceQuotaSize,proto3" json:"resource_quota_size,omitempty"` |
| ChannelArgs []*ChannelArg `protobuf:"bytes,1002,rep,name=channel_args,json=channelArgs,proto3" json:"channel_args,omitempty"` |
| // Number of server processes. 0 indicates no restriction. |
| ServerProcesses int32 `protobuf:"varint,21,opt,name=server_processes,json=serverProcesses,proto3" json:"server_processes,omitempty"` |
| } |
| |
| func (x *ServerConfig) Reset() { |
| *x = ServerConfig{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_grpc_testing_control_proto_msgTypes[9] |
| 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_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 ServerConfig.ProtoReflect.Descriptor instead. |
| func (*ServerConfig) Descriptor() ([]byte, []int) { |
| return file_grpc_testing_control_proto_rawDescGZIP(), []int{9} |
| } |
| |
| 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 |
| } |
| |
| func (x *ServerConfig) GetOtherServerApi() string { |
| if x != nil { |
| return x.OtherServerApi |
| } |
| return "" |
| } |
| |
| func (x *ServerConfig) GetThreadsPerCq() int32 { |
| if x != nil { |
| return x.ThreadsPerCq |
| } |
| return 0 |
| } |
| |
| func (x *ServerConfig) GetResourceQuotaSize() int32 { |
| if x != nil { |
| return x.ResourceQuotaSize |
| } |
| return 0 |
| } |
| |
| func (x *ServerConfig) GetChannelArgs() []*ChannelArg { |
| if x != nil { |
| return x.ChannelArgs |
| } |
| return nil |
| } |
| |
| func (x *ServerConfig) GetServerProcesses() int32 { |
| if x != nil { |
| return x.ServerProcesses |
| } |
| return 0 |
| } |
| |
| 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_grpc_testing_control_proto_msgTypes[10] |
| 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_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 ServerArgs.ProtoReflect.Descriptor instead. |
| func (*ServerArgs) Descriptor() ([]byte, []int) { |
| return file_grpc_testing_control_proto_rawDescGZIP(), []int{10} |
| } |
| |
| 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_grpc_testing_control_proto_msgTypes[11] |
| 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_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 ServerStatus.ProtoReflect.Descriptor instead. |
| func (*ServerStatus) Descriptor() ([]byte, []int) { |
| return file_grpc_testing_control_proto_rawDescGZIP(), []int{11} |
| } |
| |
| 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_grpc_testing_control_proto_msgTypes[12] |
| 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_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 CoreRequest.ProtoReflect.Descriptor instead. |
| func (*CoreRequest) Descriptor() ([]byte, []int) { |
| return file_grpc_testing_control_proto_rawDescGZIP(), []int{12} |
| } |
| |
| 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_grpc_testing_control_proto_msgTypes[13] |
| 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_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 CoreResponse.ProtoReflect.Descriptor instead. |
| func (*CoreResponse) Descriptor() ([]byte, []int) { |
| return file_grpc_testing_control_proto_rawDescGZIP(), []int{13} |
| } |
| |
| 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_grpc_testing_control_proto_msgTypes[14] |
| 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_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 Void.ProtoReflect.Descriptor instead. |
| func (*Void) Descriptor() ([]byte, []int) { |
| return file_grpc_testing_control_proto_rawDescGZIP(), []int{14} |
| } |
| |
| // 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_grpc_testing_control_proto_msgTypes[15] |
| 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_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 Scenario.ProtoReflect.Descriptor instead. |
| func (*Scenario) Descriptor() ([]byte, []int) { |
| return file_grpc_testing_control_proto_rawDescGZIP(), []int{15} |
| } |
| |
| 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_grpc_testing_control_proto_msgTypes[16] |
| 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_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 Scenarios.ProtoReflect.Descriptor instead. |
| func (*Scenarios) Descriptor() ([]byte, []int) { |
| return file_grpc_testing_control_proto_rawDescGZIP(), []int{16} |
| } |
| |
| func (x *Scenarios) GetScenarios() []*Scenario { |
| if x != nil { |
| return x.Scenarios |
| } |
| return nil |
| } |
| |
| // Basic summary that can be computed from ClientStats and ServerStats |
| // once the scenario has finished. |
| type ScenarioResultSummary struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Total number of operations per second over all clients. What is counted as 1 'operation' depends on the benchmark scenarios: |
| // For unary benchmarks, an operation is processing of a single unary RPC. |
| // For streaming benchmarks, an operation is processing of a single ping pong of request and response. |
| Qps float64 `protobuf:"fixed64,1,opt,name=qps,proto3" json:"qps,omitempty"` |
| // QPS per server core. |
| QpsPerServerCore float64 `protobuf:"fixed64,2,opt,name=qps_per_server_core,json=qpsPerServerCore,proto3" json:"qps_per_server_core,omitempty"` |
| // The total server cpu load based on system time across all server processes, expressed as percentage of a single cpu core. |
| // For example, 85 implies 85% of a cpu core, 125 implies 125% of a cpu core. Since we are accumulating the cpu load across all the server |
| // processes, the value could > 100 when there are multiple servers or a single server using multiple threads and cores. |
| // Same explanation for the total client cpu load below. |
| ServerSystemTime float64 `protobuf:"fixed64,3,opt,name=server_system_time,json=serverSystemTime,proto3" json:"server_system_time,omitempty"` |
| // The total server cpu load based on user time across all server processes, expressed as percentage of a single cpu core. (85 => 85%, 125 => 125%) |
| ServerUserTime float64 `protobuf:"fixed64,4,opt,name=server_user_time,json=serverUserTime,proto3" json:"server_user_time,omitempty"` |
| // The total client cpu load based on system time across all client processes, expressed as percentage of a single cpu core. (85 => 85%, 125 => 125%) |
| ClientSystemTime float64 `protobuf:"fixed64,5,opt,name=client_system_time,json=clientSystemTime,proto3" json:"client_system_time,omitempty"` |
| // The total client cpu load based on user time across all client processes, expressed as percentage of a single cpu core. (85 => 85%, 125 => 125%) |
| ClientUserTime float64 `protobuf:"fixed64,6,opt,name=client_user_time,json=clientUserTime,proto3" json:"client_user_time,omitempty"` |
| // X% latency percentiles (in nanoseconds) |
| Latency_50 float64 `protobuf:"fixed64,7,opt,name=latency_50,json=latency50,proto3" json:"latency_50,omitempty"` |
| Latency_90 float64 `protobuf:"fixed64,8,opt,name=latency_90,json=latency90,proto3" json:"latency_90,omitempty"` |
| Latency_95 float64 `protobuf:"fixed64,9,opt,name=latency_95,json=latency95,proto3" json:"latency_95,omitempty"` |
| Latency_99 float64 `protobuf:"fixed64,10,opt,name=latency_99,json=latency99,proto3" json:"latency_99,omitempty"` |
| Latency_999 float64 `protobuf:"fixed64,11,opt,name=latency_999,json=latency999,proto3" json:"latency_999,omitempty"` |
| // server cpu usage percentage |
| ServerCpuUsage float64 `protobuf:"fixed64,12,opt,name=server_cpu_usage,json=serverCpuUsage,proto3" json:"server_cpu_usage,omitempty"` |
| // Number of requests that succeeded/failed |
| SuccessfulRequestsPerSecond float64 `protobuf:"fixed64,13,opt,name=successful_requests_per_second,json=successfulRequestsPerSecond,proto3" json:"successful_requests_per_second,omitempty"` |
| FailedRequestsPerSecond float64 `protobuf:"fixed64,14,opt,name=failed_requests_per_second,json=failedRequestsPerSecond,proto3" json:"failed_requests_per_second,omitempty"` |
| // Number of polls called inside completion queue per request |
| ClientPollsPerRequest float64 `protobuf:"fixed64,15,opt,name=client_polls_per_request,json=clientPollsPerRequest,proto3" json:"client_polls_per_request,omitempty"` |
| ServerPollsPerRequest float64 `protobuf:"fixed64,16,opt,name=server_polls_per_request,json=serverPollsPerRequest,proto3" json:"server_polls_per_request,omitempty"` |
| // Queries per CPU-sec over all servers or clients |
| ServerQueriesPerCpuSec float64 `protobuf:"fixed64,17,opt,name=server_queries_per_cpu_sec,json=serverQueriesPerCpuSec,proto3" json:"server_queries_per_cpu_sec,omitempty"` |
| ClientQueriesPerCpuSec float64 `protobuf:"fixed64,18,opt,name=client_queries_per_cpu_sec,json=clientQueriesPerCpuSec,proto3" json:"client_queries_per_cpu_sec,omitempty"` |
| // Start and end time for the test scenario |
| StartTime *timestamppb.Timestamp `protobuf:"bytes,19,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` |
| EndTime *timestamppb.Timestamp `protobuf:"bytes,20,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` |
| } |
| |
| func (x *ScenarioResultSummary) Reset() { |
| *x = ScenarioResultSummary{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_grpc_testing_control_proto_msgTypes[17] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ScenarioResultSummary) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ScenarioResultSummary) ProtoMessage() {} |
| |
| func (x *ScenarioResultSummary) ProtoReflect() protoreflect.Message { |
| mi := &file_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 ScenarioResultSummary.ProtoReflect.Descriptor instead. |
| func (*ScenarioResultSummary) Descriptor() ([]byte, []int) { |
| return file_grpc_testing_control_proto_rawDescGZIP(), []int{17} |
| } |
| |
| func (x *ScenarioResultSummary) GetQps() float64 { |
| if x != nil { |
| return x.Qps |
| } |
| return 0 |
| } |
| |
| func (x *ScenarioResultSummary) GetQpsPerServerCore() float64 { |
| if x != nil { |
| return x.QpsPerServerCore |
| } |
| return 0 |
| } |
| |
| func (x *ScenarioResultSummary) GetServerSystemTime() float64 { |
| if x != nil { |
| return x.ServerSystemTime |
| } |
| return 0 |
| } |
| |
| func (x *ScenarioResultSummary) GetServerUserTime() float64 { |
| if x != nil { |
| return x.ServerUserTime |
| } |
| return 0 |
| } |
| |
| func (x *ScenarioResultSummary) GetClientSystemTime() float64 { |
| if x != nil { |
| return x.ClientSystemTime |
| } |
| return 0 |
| } |
| |
| func (x *ScenarioResultSummary) GetClientUserTime() float64 { |
| if x != nil { |
| return x.ClientUserTime |
| } |
| return 0 |
| } |
| |
| func (x *ScenarioResultSummary) GetLatency_50() float64 { |
| if x != nil { |
| return x.Latency_50 |
| } |
| return 0 |
| } |
| |
| func (x *ScenarioResultSummary) GetLatency_90() float64 { |
| if x != nil { |
| return x.Latency_90 |
| } |
| return 0 |
| } |
| |
| func (x *ScenarioResultSummary) GetLatency_95() float64 { |
| if x != nil { |
| return x.Latency_95 |
| } |
| return 0 |
| } |
| |
| func (x *ScenarioResultSummary) GetLatency_99() float64 { |
| if x != nil { |
| return x.Latency_99 |
| } |
| return 0 |
| } |
| |
| func (x *ScenarioResultSummary) GetLatency_999() float64 { |
| if x != nil { |
| return x.Latency_999 |
| } |
| return 0 |
| } |
| |
| func (x *ScenarioResultSummary) GetServerCpuUsage() float64 { |
| if x != nil { |
| return x.ServerCpuUsage |
| } |
| return 0 |
| } |
| |
| func (x *ScenarioResultSummary) GetSuccessfulRequestsPerSecond() float64 { |
| if x != nil { |
| return x.SuccessfulRequestsPerSecond |
| } |
| return 0 |
| } |
| |
| func (x *ScenarioResultSummary) GetFailedRequestsPerSecond() float64 { |
| if x != nil { |
| return x.FailedRequestsPerSecond |
| } |
| return 0 |
| } |
| |
| func (x *ScenarioResultSummary) GetClientPollsPerRequest() float64 { |
| if x != nil { |
| return x.ClientPollsPerRequest |
| } |
| return 0 |
| } |
| |
| func (x *ScenarioResultSummary) GetServerPollsPerRequest() float64 { |
| if x != nil { |
| return x.ServerPollsPerRequest |
| } |
| return 0 |
| } |
| |
| func (x *ScenarioResultSummary) GetServerQueriesPerCpuSec() float64 { |
| if x != nil { |
| return x.ServerQueriesPerCpuSec |
| } |
| return 0 |
| } |
| |
| func (x *ScenarioResultSummary) GetClientQueriesPerCpuSec() float64 { |
| if x != nil { |
| return x.ClientQueriesPerCpuSec |
| } |
| return 0 |
| } |
| |
| func (x *ScenarioResultSummary) GetStartTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.StartTime |
| } |
| return nil |
| } |
| |
| func (x *ScenarioResultSummary) GetEndTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.EndTime |
| } |
| return nil |
| } |
| |
| // Results of a single benchmark scenario. |
| type ScenarioResult struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Inputs used to run the scenario. |
| Scenario *Scenario `protobuf:"bytes,1,opt,name=scenario,proto3" json:"scenario,omitempty"` |
| // Histograms from all clients merged into one histogram. |
| Latencies *HistogramData `protobuf:"bytes,2,opt,name=latencies,proto3" json:"latencies,omitempty"` |
| // Client stats for each client |
| ClientStats []*ClientStats `protobuf:"bytes,3,rep,name=client_stats,json=clientStats,proto3" json:"client_stats,omitempty"` |
| // Server stats for each server |
| ServerStats []*ServerStats `protobuf:"bytes,4,rep,name=server_stats,json=serverStats,proto3" json:"server_stats,omitempty"` |
| // Number of cores available to each server |
| ServerCores []int32 `protobuf:"varint,5,rep,packed,name=server_cores,json=serverCores,proto3" json:"server_cores,omitempty"` |
| // An after-the-fact computed summary |
| Summary *ScenarioResultSummary `protobuf:"bytes,6,opt,name=summary,proto3" json:"summary,omitempty"` |
| // Information on success or failure of each worker |
| ClientSuccess []bool `protobuf:"varint,7,rep,packed,name=client_success,json=clientSuccess,proto3" json:"client_success,omitempty"` |
| ServerSuccess []bool `protobuf:"varint,8,rep,packed,name=server_success,json=serverSuccess,proto3" json:"server_success,omitempty"` |
| // Number of failed requests (one row per status code seen) |
| RequestResults []*RequestResultCount `protobuf:"bytes,9,rep,name=request_results,json=requestResults,proto3" json:"request_results,omitempty"` |
| } |
| |
| func (x *ScenarioResult) Reset() { |
| *x = ScenarioResult{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_grpc_testing_control_proto_msgTypes[18] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ScenarioResult) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ScenarioResult) ProtoMessage() {} |
| |
| func (x *ScenarioResult) ProtoReflect() protoreflect.Message { |
| mi := &file_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 ScenarioResult.ProtoReflect.Descriptor instead. |
| func (*ScenarioResult) Descriptor() ([]byte, []int) { |
| return file_grpc_testing_control_proto_rawDescGZIP(), []int{18} |
| } |
| |
| func (x *ScenarioResult) GetScenario() *Scenario { |
| if x != nil { |
| return x.Scenario |
| } |
| return nil |
| } |
| |
| func (x *ScenarioResult) GetLatencies() *HistogramData { |
| if x != nil { |
| return x.Latencies |
| } |
| return nil |
| } |
| |
| func (x *ScenarioResult) GetClientStats() []*ClientStats { |
| if x != nil { |
| return x.ClientStats |
| } |
| return nil |
| } |
| |
| func (x *ScenarioResult) GetServerStats() []*ServerStats { |
| if x != nil { |
| return x.ServerStats |
| } |
| return nil |
| } |
| |
| func (x *ScenarioResult) GetServerCores() []int32 { |
| if x != nil { |
| return x.ServerCores |
| } |
| return nil |
| } |
| |
| func (x *ScenarioResult) GetSummary() *ScenarioResultSummary { |
| if x != nil { |
| return x.Summary |
| } |
| return nil |
| } |
| |
| func (x *ScenarioResult) GetClientSuccess() []bool { |
| if x != nil { |
| return x.ClientSuccess |
| } |
| return nil |
| } |
| |
| func (x *ScenarioResult) GetServerSuccess() []bool { |
| if x != nil { |
| return x.ServerSuccess |
| } |
| return nil |
| } |
| |
| func (x *ScenarioResult) GetRequestResults() []*RequestResultCount { |
| if x != nil { |
| return x.RequestResults |
| } |
| return nil |
| } |
| |
| var File_grpc_testing_control_proto protoreflect.FileDescriptor |
| |
| var file_grpc_testing_control_proto_rawDesc = []byte{ |
| 0x0a, 0x1a, 0x67, 0x72, 0x70, 0x63, 0x2f, 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, 0x1b, 0x67, 0x72, 0x70, 0x63, |
| 0x2f, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, |
| 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x65, |
| 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, |
| 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, |
| 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x12, 0x0a, 0x10, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, |
| 0x4c, 0x6f, 0x6f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x90, 0x01, 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, 0x42, 0x06, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x7f, 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, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x72, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x22, 0x67, |
| 0x0a, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, |
| 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, |
| 0x12, 0x1d, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, |
| 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x73, 0x74, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, |
| 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, |
| 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, |
| 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xf6, 0x07, 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, 0x12, 0x28, 0x0a, 0x10, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x63, 0x6c, |
| 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, |
| 0x6f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x12, 0x3b, |
| 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x10, |
| 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, |
| 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x72, 0x67, 0x52, 0x0b, |
| 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x72, 0x67, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x74, |
| 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x71, 0x18, 0x11, 0x20, |
| 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x50, 0x65, 0x72, 0x43, |
| 0x71, 0x12, 0x2e, 0x0a, 0x13, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x70, 0x65, |
| 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, |
| 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x50, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, |
| 0x6d, 0x12, 0x28, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, |
| 0x65, 0x5f, 0x61, 0x70, 0x69, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x75, 0x73, 0x65, |
| 0x43, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x41, 0x70, 0x69, 0x12, 0x58, 0x0a, 0x29, 0x6d, |
| 0x65, 0x64, 0x69, 0x61, 0x6e, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x63, 0x6f, |
| 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, |
| 0x6c, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x25, |
| 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x6c, |
| 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, |
| 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, |
| 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, |
| 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, |
| 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, 0xc0, 0x04, 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, 0x12, |
| 0x28, 0x0a, 0x10, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, |
| 0x61, 0x70, 0x69, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x74, 0x68, 0x65, 0x72, |
| 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x70, 0x69, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x68, 0x72, |
| 0x65, 0x61, 0x64, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x71, 0x18, 0x0c, 0x20, 0x01, 0x28, |
| 0x05, 0x52, 0x0c, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x50, 0x65, 0x72, 0x43, 0x71, 0x12, |
| 0x2f, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x71, 0x75, 0x6f, 0x74, |
| 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x72, |
| 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x53, 0x69, 0x7a, 0x65, |
| 0x12, 0x3c, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x61, 0x72, 0x67, 0x73, |
| 0x18, 0xea, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, |
| 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x72, |
| 0x67, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x72, 0x67, 0x73, 0x12, 0x29, |
| 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, |
| 0x65, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, |
| 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 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, 0x22, 0xad, 0x07, |
| 0x0a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, |
| 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x71, 0x70, 0x73, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x71, 0x70, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x71, 0x70, 0x73, |
| 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x72, 0x65, |
| 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x71, 0x70, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, |
| 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, |
| 0x65, 0x72, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, |
| 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, |
| 0x65, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, |
| 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, |
| 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, |
| 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, |
| 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x63, 0x6c, |
| 0x69, 0x65, 0x6e, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, |
| 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x69, |
| 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, |
| 0x55, 0x73, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x74, 0x65, |
| 0x6e, 0x63, 0x79, 0x5f, 0x35, 0x30, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x61, |
| 0x74, 0x65, 0x6e, 0x63, 0x79, 0x35, 0x30, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x74, 0x65, 0x6e, |
| 0x63, 0x79, 0x5f, 0x39, 0x30, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x61, 0x74, |
| 0x65, 0x6e, 0x63, 0x79, 0x39, 0x30, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, |
| 0x79, 0x5f, 0x39, 0x35, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x61, 0x74, 0x65, |
| 0x6e, 0x63, 0x79, 0x39, 0x35, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, |
| 0x5f, 0x39, 0x39, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x61, 0x74, 0x65, 0x6e, |
| 0x63, 0x79, 0x39, 0x39, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, |
| 0x39, 0x39, 0x39, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x6c, 0x61, 0x74, 0x65, 0x6e, |
| 0x63, 0x79, 0x39, 0x39, 0x39, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, |
| 0x63, 0x70, 0x75, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, |
| 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x70, 0x75, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, |
| 0x43, 0x0a, 0x1e, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, |
| 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x1b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, |
| 0x66, 0x75, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, |
| 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, |
| 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x17, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, |
| 0x64, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x6c, |
| 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0f, 0x20, |
| 0x01, 0x28, 0x01, 0x52, 0x15, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x6c, 0x73, |
| 0x50, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x73, 0x65, |
| 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x6c, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x72, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x15, 0x73, 0x65, |
| 0x72, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, |
| 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x1a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x71, 0x75, |
| 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x73, 0x65, |
| 0x63, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x16, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x51, |
| 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x50, 0x65, 0x72, 0x43, 0x70, 0x75, 0x53, 0x65, 0x63, 0x12, |
| 0x3a, 0x0a, 0x1a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, |
| 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x12, 0x20, |
| 0x01, 0x28, 0x01, 0x52, 0x16, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x69, |
| 0x65, 0x73, 0x50, 0x65, 0x72, 0x43, 0x70, 0x75, 0x53, 0x65, 0x63, 0x12, 0x39, 0x0a, 0x0a, 0x73, |
| 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, |
| 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, |
| 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, |
| 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, |
| 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, |
| 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xf6, 0x03, |
| 0x0a, 0x0e, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, |
| 0x12, 0x32, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, |
| 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, 0x08, 0x73, 0x63, 0x65, 0x6e, |
| 0x61, 0x72, 0x69, 0x6f, 0x12, 0x39, 0x0a, 0x09, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x69, 0x65, |
| 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, |
| 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, |
| 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, |
| 0x3c, 0x0a, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, |
| 0x03, 0x20, 0x03, 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, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3c, 0x0a, |
| 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, |
| 0x03, 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, 0x0b, |
| 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, |
| 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, |
| 0x05, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x3d, |
| 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, |
| 0x23, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x53, |
| 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x75, 0x6d, |
| 0x6d, 0x61, 0x72, 0x79, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x25, 0x0a, |
| 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, |
| 0x07, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x63, |
| 0x63, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, |
| 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x65, |
| 0x72, 0x76, 0x65, 0x72, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x0f, 0x72, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x09, |
| 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, |
| 0x69, 0x6e, 0x67, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, |
| 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, |
| 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2a, 0x56, 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, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x54, 0x48, 0x45, 0x52, |
| 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x41, 0x4c, |
| 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x2a, 0x70, |
| 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, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x54, 0x48, |
| 0x45, 0x52, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x43, |
| 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x04, |
| 0x2a, 0x72, 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, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, |
| 0x4e, 0x47, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x02, |
| 0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x52, |
| 0x4f, 0x4d, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x53, |
| 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x42, 0x4f, 0x54, 0x48, 0x5f, 0x57, 0x41, |
| 0x59, 0x53, 0x10, 0x04, 0x42, 0x21, 0x0a, 0x0f, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, |
| 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, |
| 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, |
| } |
| |
| var ( |
| file_grpc_testing_control_proto_rawDescOnce sync.Once |
| file_grpc_testing_control_proto_rawDescData = file_grpc_testing_control_proto_rawDesc |
| ) |
| |
| func file_grpc_testing_control_proto_rawDescGZIP() []byte { |
| file_grpc_testing_control_proto_rawDescOnce.Do(func() { |
| file_grpc_testing_control_proto_rawDescData = protoimpl.X.CompressGZIP(file_grpc_testing_control_proto_rawDescData) |
| }) |
| return file_grpc_testing_control_proto_rawDescData |
| } |
| |
| var file_grpc_testing_control_proto_enumTypes = make([]protoimpl.EnumInfo, 3) |
| var file_grpc_testing_control_proto_msgTypes = make([]protoimpl.MessageInfo, 19) |
| var file_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 |
| (*ClosedLoopParams)(nil), // 4: grpc.testing.ClosedLoopParams |
| (*LoadParams)(nil), // 5: grpc.testing.LoadParams |
| (*SecurityParams)(nil), // 6: grpc.testing.SecurityParams |
| (*ChannelArg)(nil), // 7: grpc.testing.ChannelArg |
| (*ClientConfig)(nil), // 8: grpc.testing.ClientConfig |
| (*ClientStatus)(nil), // 9: grpc.testing.ClientStatus |
| (*Mark)(nil), // 10: grpc.testing.Mark |
| (*ClientArgs)(nil), // 11: grpc.testing.ClientArgs |
| (*ServerConfig)(nil), // 12: grpc.testing.ServerConfig |
| (*ServerArgs)(nil), // 13: grpc.testing.ServerArgs |
| (*ServerStatus)(nil), // 14: grpc.testing.ServerStatus |
| (*CoreRequest)(nil), // 15: grpc.testing.CoreRequest |
| (*CoreResponse)(nil), // 16: grpc.testing.CoreResponse |
| (*Void)(nil), // 17: grpc.testing.Void |
| (*Scenario)(nil), // 18: grpc.testing.Scenario |
| (*Scenarios)(nil), // 19: grpc.testing.Scenarios |
| (*ScenarioResultSummary)(nil), // 20: grpc.testing.ScenarioResultSummary |
| (*ScenarioResult)(nil), // 21: grpc.testing.ScenarioResult |
| (*PayloadConfig)(nil), // 22: grpc.testing.PayloadConfig |
| (*HistogramParams)(nil), // 23: grpc.testing.HistogramParams |
| (*ClientStats)(nil), // 24: grpc.testing.ClientStats |
| (*ServerStats)(nil), // 25: grpc.testing.ServerStats |
| (*timestamppb.Timestamp)(nil), // 26: google.protobuf.Timestamp |
| (*HistogramData)(nil), // 27: grpc.testing.HistogramData |
| (*RequestResultCount)(nil), // 28: grpc.testing.RequestResultCount |
| } |
| var file_grpc_testing_control_proto_depIdxs = []int32{ |
| 4, // 0: grpc.testing.LoadParams.closed_loop:type_name -> grpc.testing.ClosedLoopParams |
| 3, // 1: grpc.testing.LoadParams.poisson:type_name -> grpc.testing.PoissonParams |
| 0, // 2: grpc.testing.ClientConfig.client_type:type_name -> grpc.testing.ClientType |
| 6, // 3: grpc.testing.ClientConfig.security_params:type_name -> grpc.testing.SecurityParams |
| 2, // 4: grpc.testing.ClientConfig.rpc_type:type_name -> grpc.testing.RpcType |
| 5, // 5: grpc.testing.ClientConfig.load_params:type_name -> grpc.testing.LoadParams |
| 22, // 6: grpc.testing.ClientConfig.payload_config:type_name -> grpc.testing.PayloadConfig |
| 23, // 7: grpc.testing.ClientConfig.histogram_params:type_name -> grpc.testing.HistogramParams |
| 7, // 8: grpc.testing.ClientConfig.channel_args:type_name -> grpc.testing.ChannelArg |
| 24, // 9: grpc.testing.ClientStatus.stats:type_name -> grpc.testing.ClientStats |
| 8, // 10: grpc.testing.ClientArgs.setup:type_name -> grpc.testing.ClientConfig |
| 10, // 11: grpc.testing.ClientArgs.mark:type_name -> grpc.testing.Mark |
| 1, // 12: grpc.testing.ServerConfig.server_type:type_name -> grpc.testing.ServerType |
| 6, // 13: grpc.testing.ServerConfig.security_params:type_name -> grpc.testing.SecurityParams |
| 22, // 14: grpc.testing.ServerConfig.payload_config:type_name -> grpc.testing.PayloadConfig |
| 7, // 15: grpc.testing.ServerConfig.channel_args:type_name -> grpc.testing.ChannelArg |
| 12, // 16: grpc.testing.ServerArgs.setup:type_name -> grpc.testing.ServerConfig |
| 10, // 17: grpc.testing.ServerArgs.mark:type_name -> grpc.testing.Mark |
| 25, // 18: grpc.testing.ServerStatus.stats:type_name -> grpc.testing.ServerStats |
| 8, // 19: grpc.testing.Scenario.client_config:type_name -> grpc.testing.ClientConfig |
| 12, // 20: grpc.testing.Scenario.server_config:type_name -> grpc.testing.ServerConfig |
| 18, // 21: grpc.testing.Scenarios.scenarios:type_name -> grpc.testing.Scenario |
| 26, // 22: grpc.testing.ScenarioResultSummary.start_time:type_name -> google.protobuf.Timestamp |
| 26, // 23: grpc.testing.ScenarioResultSummary.end_time:type_name -> google.protobuf.Timestamp |
| 18, // 24: grpc.testing.ScenarioResult.scenario:type_name -> grpc.testing.Scenario |
| 27, // 25: grpc.testing.ScenarioResult.latencies:type_name -> grpc.testing.HistogramData |
| 24, // 26: grpc.testing.ScenarioResult.client_stats:type_name -> grpc.testing.ClientStats |
| 25, // 27: grpc.testing.ScenarioResult.server_stats:type_name -> grpc.testing.ServerStats |
| 20, // 28: grpc.testing.ScenarioResult.summary:type_name -> grpc.testing.ScenarioResultSummary |
| 28, // 29: grpc.testing.ScenarioResult.request_results:type_name -> grpc.testing.RequestResultCount |
| 30, // [30:30] is the sub-list for method output_type |
| 30, // [30:30] is the sub-list for method input_type |
| 30, // [30:30] is the sub-list for extension type_name |
| 30, // [30:30] is the sub-list for extension extendee |
| 0, // [0:30] is the sub-list for field type_name |
| } |
| |
| func init() { file_grpc_testing_control_proto_init() } |
| func file_grpc_testing_control_proto_init() { |
| if File_grpc_testing_control_proto != nil { |
| return |
| } |
| file_grpc_testing_payloads_proto_init() |
| file_grpc_testing_stats_proto_init() |
| if !protoimpl.UnsafeEnabled { |
| file_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_grpc_testing_control_proto_msgTypes[1].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_grpc_testing_control_proto_msgTypes[2].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_grpc_testing_control_proto_msgTypes[3].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_grpc_testing_control_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ChannelArg); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_grpc_testing_control_proto_msgTypes[5].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_grpc_testing_control_proto_msgTypes[6].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_grpc_testing_control_proto_msgTypes[7].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_grpc_testing_control_proto_msgTypes[8].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_grpc_testing_control_proto_msgTypes[9].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_grpc_testing_control_proto_msgTypes[10].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_grpc_testing_control_proto_msgTypes[11].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_grpc_testing_control_proto_msgTypes[12].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_grpc_testing_control_proto_msgTypes[13].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_grpc_testing_control_proto_msgTypes[14].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_grpc_testing_control_proto_msgTypes[15].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_grpc_testing_control_proto_msgTypes[16].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_grpc_testing_control_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ScenarioResultSummary); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_grpc_testing_control_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ScenarioResult); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| } |
| file_grpc_testing_control_proto_msgTypes[2].OneofWrappers = []interface{}{ |
| (*LoadParams_ClosedLoop)(nil), |
| (*LoadParams_Poisson)(nil), |
| } |
| file_grpc_testing_control_proto_msgTypes[4].OneofWrappers = []interface{}{ |
| (*ChannelArg_StrValue)(nil), |
| (*ChannelArg_IntValue)(nil), |
| } |
| file_grpc_testing_control_proto_msgTypes[8].OneofWrappers = []interface{}{ |
| (*ClientArgs_Setup)(nil), |
| (*ClientArgs_Mark)(nil), |
| } |
| file_grpc_testing_control_proto_msgTypes[10].OneofWrappers = []interface{}{ |
| (*ServerArgs_Setup)(nil), |
| (*ServerArgs_Mark)(nil), |
| } |
| type x struct{} |
| out := protoimpl.TypeBuilder{ |
| File: protoimpl.DescBuilder{ |
| GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
| RawDescriptor: file_grpc_testing_control_proto_rawDesc, |
| NumEnums: 3, |
| NumMessages: 19, |
| NumExtensions: 0, |
| NumServices: 0, |
| }, |
| GoTypes: file_grpc_testing_control_proto_goTypes, |
| DependencyIndexes: file_grpc_testing_control_proto_depIdxs, |
| EnumInfos: file_grpc_testing_control_proto_enumTypes, |
| MessageInfos: file_grpc_testing_control_proto_msgTypes, |
| }.Build() |
| File_grpc_testing_control_proto = out.File |
| file_grpc_testing_control_proto_rawDesc = nil |
| file_grpc_testing_control_proto_goTypes = nil |
| file_grpc_testing_control_proto_depIdxs = nil |
| } |