google.golang.org/grpc@v1.72.2/interop/grpc_testing/control.pb.go (about)

     1  // Copyright 2015 gRPC authors.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.36.5
    18  // 	protoc        v5.27.1
    19  // source: grpc/testing/control.proto
    20  
    21  package grpc_testing
    22  
    23  import (
    24  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    25  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    26  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    27  	reflect "reflect"
    28  	sync "sync"
    29  	unsafe "unsafe"
    30  )
    31  
    32  const (
    33  	// Verify that this generated code is sufficiently up-to-date.
    34  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    35  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    37  )
    38  
    39  type ClientType int32
    40  
    41  const (
    42  	// Many languages support a basic distinction between using
    43  	// sync or async client, and this allows the specification
    44  	ClientType_SYNC_CLIENT     ClientType = 0
    45  	ClientType_ASYNC_CLIENT    ClientType = 1
    46  	ClientType_OTHER_CLIENT    ClientType = 2 // used for some language-specific variants
    47  	ClientType_CALLBACK_CLIENT ClientType = 3
    48  )
    49  
    50  // Enum value maps for ClientType.
    51  var (
    52  	ClientType_name = map[int32]string{
    53  		0: "SYNC_CLIENT",
    54  		1: "ASYNC_CLIENT",
    55  		2: "OTHER_CLIENT",
    56  		3: "CALLBACK_CLIENT",
    57  	}
    58  	ClientType_value = map[string]int32{
    59  		"SYNC_CLIENT":     0,
    60  		"ASYNC_CLIENT":    1,
    61  		"OTHER_CLIENT":    2,
    62  		"CALLBACK_CLIENT": 3,
    63  	}
    64  )
    65  
    66  func (x ClientType) Enum() *ClientType {
    67  	p := new(ClientType)
    68  	*p = x
    69  	return p
    70  }
    71  
    72  func (x ClientType) String() string {
    73  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    74  }
    75  
    76  func (ClientType) Descriptor() protoreflect.EnumDescriptor {
    77  	return file_grpc_testing_control_proto_enumTypes[0].Descriptor()
    78  }
    79  
    80  func (ClientType) Type() protoreflect.EnumType {
    81  	return &file_grpc_testing_control_proto_enumTypes[0]
    82  }
    83  
    84  func (x ClientType) Number() protoreflect.EnumNumber {
    85  	return protoreflect.EnumNumber(x)
    86  }
    87  
    88  // Deprecated: Use ClientType.Descriptor instead.
    89  func (ClientType) EnumDescriptor() ([]byte, []int) {
    90  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{0}
    91  }
    92  
    93  type ServerType int32
    94  
    95  const (
    96  	ServerType_SYNC_SERVER          ServerType = 0
    97  	ServerType_ASYNC_SERVER         ServerType = 1
    98  	ServerType_ASYNC_GENERIC_SERVER ServerType = 2
    99  	ServerType_OTHER_SERVER         ServerType = 3 // used for some language-specific variants
   100  	ServerType_CALLBACK_SERVER      ServerType = 4
   101  )
   102  
   103  // Enum value maps for ServerType.
   104  var (
   105  	ServerType_name = map[int32]string{
   106  		0: "SYNC_SERVER",
   107  		1: "ASYNC_SERVER",
   108  		2: "ASYNC_GENERIC_SERVER",
   109  		3: "OTHER_SERVER",
   110  		4: "CALLBACK_SERVER",
   111  	}
   112  	ServerType_value = map[string]int32{
   113  		"SYNC_SERVER":          0,
   114  		"ASYNC_SERVER":         1,
   115  		"ASYNC_GENERIC_SERVER": 2,
   116  		"OTHER_SERVER":         3,
   117  		"CALLBACK_SERVER":      4,
   118  	}
   119  )
   120  
   121  func (x ServerType) Enum() *ServerType {
   122  	p := new(ServerType)
   123  	*p = x
   124  	return p
   125  }
   126  
   127  func (x ServerType) String() string {
   128  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   129  }
   130  
   131  func (ServerType) Descriptor() protoreflect.EnumDescriptor {
   132  	return file_grpc_testing_control_proto_enumTypes[1].Descriptor()
   133  }
   134  
   135  func (ServerType) Type() protoreflect.EnumType {
   136  	return &file_grpc_testing_control_proto_enumTypes[1]
   137  }
   138  
   139  func (x ServerType) Number() protoreflect.EnumNumber {
   140  	return protoreflect.EnumNumber(x)
   141  }
   142  
   143  // Deprecated: Use ServerType.Descriptor instead.
   144  func (ServerType) EnumDescriptor() ([]byte, []int) {
   145  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{1}
   146  }
   147  
   148  type RpcType int32
   149  
   150  const (
   151  	RpcType_UNARY                 RpcType = 0
   152  	RpcType_STREAMING             RpcType = 1
   153  	RpcType_STREAMING_FROM_CLIENT RpcType = 2
   154  	RpcType_STREAMING_FROM_SERVER RpcType = 3
   155  	RpcType_STREAMING_BOTH_WAYS   RpcType = 4
   156  )
   157  
   158  // Enum value maps for RpcType.
   159  var (
   160  	RpcType_name = map[int32]string{
   161  		0: "UNARY",
   162  		1: "STREAMING",
   163  		2: "STREAMING_FROM_CLIENT",
   164  		3: "STREAMING_FROM_SERVER",
   165  		4: "STREAMING_BOTH_WAYS",
   166  	}
   167  	RpcType_value = map[string]int32{
   168  		"UNARY":                 0,
   169  		"STREAMING":             1,
   170  		"STREAMING_FROM_CLIENT": 2,
   171  		"STREAMING_FROM_SERVER": 3,
   172  		"STREAMING_BOTH_WAYS":   4,
   173  	}
   174  )
   175  
   176  func (x RpcType) Enum() *RpcType {
   177  	p := new(RpcType)
   178  	*p = x
   179  	return p
   180  }
   181  
   182  func (x RpcType) String() string {
   183  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   184  }
   185  
   186  func (RpcType) Descriptor() protoreflect.EnumDescriptor {
   187  	return file_grpc_testing_control_proto_enumTypes[2].Descriptor()
   188  }
   189  
   190  func (RpcType) Type() protoreflect.EnumType {
   191  	return &file_grpc_testing_control_proto_enumTypes[2]
   192  }
   193  
   194  func (x RpcType) Number() protoreflect.EnumNumber {
   195  	return protoreflect.EnumNumber(x)
   196  }
   197  
   198  // Deprecated: Use RpcType.Descriptor instead.
   199  func (RpcType) EnumDescriptor() ([]byte, []int) {
   200  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{2}
   201  }
   202  
   203  // Parameters of poisson process distribution, which is a good representation
   204  // of activity coming in from independent identical stationary sources.
   205  type PoissonParams struct {
   206  	state protoimpl.MessageState `protogen:"open.v1"`
   207  	// The rate of arrivals (a.k.a. lambda parameter of the exp distribution).
   208  	OfferedLoad   float64 `protobuf:"fixed64,1,opt,name=offered_load,json=offeredLoad,proto3" json:"offered_load,omitempty"`
   209  	unknownFields protoimpl.UnknownFields
   210  	sizeCache     protoimpl.SizeCache
   211  }
   212  
   213  func (x *PoissonParams) Reset() {
   214  	*x = PoissonParams{}
   215  	mi := &file_grpc_testing_control_proto_msgTypes[0]
   216  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   217  	ms.StoreMessageInfo(mi)
   218  }
   219  
   220  func (x *PoissonParams) String() string {
   221  	return protoimpl.X.MessageStringOf(x)
   222  }
   223  
   224  func (*PoissonParams) ProtoMessage() {}
   225  
   226  func (x *PoissonParams) ProtoReflect() protoreflect.Message {
   227  	mi := &file_grpc_testing_control_proto_msgTypes[0]
   228  	if x != nil {
   229  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   230  		if ms.LoadMessageInfo() == nil {
   231  			ms.StoreMessageInfo(mi)
   232  		}
   233  		return ms
   234  	}
   235  	return mi.MessageOf(x)
   236  }
   237  
   238  // Deprecated: Use PoissonParams.ProtoReflect.Descriptor instead.
   239  func (*PoissonParams) Descriptor() ([]byte, []int) {
   240  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{0}
   241  }
   242  
   243  func (x *PoissonParams) GetOfferedLoad() float64 {
   244  	if x != nil {
   245  		return x.OfferedLoad
   246  	}
   247  	return 0
   248  }
   249  
   250  // Once an RPC finishes, immediately start a new one.
   251  // No configuration parameters needed.
   252  type ClosedLoopParams struct {
   253  	state         protoimpl.MessageState `protogen:"open.v1"`
   254  	unknownFields protoimpl.UnknownFields
   255  	sizeCache     protoimpl.SizeCache
   256  }
   257  
   258  func (x *ClosedLoopParams) Reset() {
   259  	*x = ClosedLoopParams{}
   260  	mi := &file_grpc_testing_control_proto_msgTypes[1]
   261  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   262  	ms.StoreMessageInfo(mi)
   263  }
   264  
   265  func (x *ClosedLoopParams) String() string {
   266  	return protoimpl.X.MessageStringOf(x)
   267  }
   268  
   269  func (*ClosedLoopParams) ProtoMessage() {}
   270  
   271  func (x *ClosedLoopParams) ProtoReflect() protoreflect.Message {
   272  	mi := &file_grpc_testing_control_proto_msgTypes[1]
   273  	if x != nil {
   274  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   275  		if ms.LoadMessageInfo() == nil {
   276  			ms.StoreMessageInfo(mi)
   277  		}
   278  		return ms
   279  	}
   280  	return mi.MessageOf(x)
   281  }
   282  
   283  // Deprecated: Use ClosedLoopParams.ProtoReflect.Descriptor instead.
   284  func (*ClosedLoopParams) Descriptor() ([]byte, []int) {
   285  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{1}
   286  }
   287  
   288  type LoadParams struct {
   289  	state protoimpl.MessageState `protogen:"open.v1"`
   290  	// Types that are valid to be assigned to Load:
   291  	//
   292  	//	*LoadParams_ClosedLoop
   293  	//	*LoadParams_Poisson
   294  	Load          isLoadParams_Load `protobuf_oneof:"load"`
   295  	unknownFields protoimpl.UnknownFields
   296  	sizeCache     protoimpl.SizeCache
   297  }
   298  
   299  func (x *LoadParams) Reset() {
   300  	*x = LoadParams{}
   301  	mi := &file_grpc_testing_control_proto_msgTypes[2]
   302  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   303  	ms.StoreMessageInfo(mi)
   304  }
   305  
   306  func (x *LoadParams) String() string {
   307  	return protoimpl.X.MessageStringOf(x)
   308  }
   309  
   310  func (*LoadParams) ProtoMessage() {}
   311  
   312  func (x *LoadParams) ProtoReflect() protoreflect.Message {
   313  	mi := &file_grpc_testing_control_proto_msgTypes[2]
   314  	if x != nil {
   315  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   316  		if ms.LoadMessageInfo() == nil {
   317  			ms.StoreMessageInfo(mi)
   318  		}
   319  		return ms
   320  	}
   321  	return mi.MessageOf(x)
   322  }
   323  
   324  // Deprecated: Use LoadParams.ProtoReflect.Descriptor instead.
   325  func (*LoadParams) Descriptor() ([]byte, []int) {
   326  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{2}
   327  }
   328  
   329  func (x *LoadParams) GetLoad() isLoadParams_Load {
   330  	if x != nil {
   331  		return x.Load
   332  	}
   333  	return nil
   334  }
   335  
   336  func (x *LoadParams) GetClosedLoop() *ClosedLoopParams {
   337  	if x != nil {
   338  		if x, ok := x.Load.(*LoadParams_ClosedLoop); ok {
   339  			return x.ClosedLoop
   340  		}
   341  	}
   342  	return nil
   343  }
   344  
   345  func (x *LoadParams) GetPoisson() *PoissonParams {
   346  	if x != nil {
   347  		if x, ok := x.Load.(*LoadParams_Poisson); ok {
   348  			return x.Poisson
   349  		}
   350  	}
   351  	return nil
   352  }
   353  
   354  type isLoadParams_Load interface {
   355  	isLoadParams_Load()
   356  }
   357  
   358  type LoadParams_ClosedLoop struct {
   359  	ClosedLoop *ClosedLoopParams `protobuf:"bytes,1,opt,name=closed_loop,json=closedLoop,proto3,oneof"`
   360  }
   361  
   362  type LoadParams_Poisson struct {
   363  	Poisson *PoissonParams `protobuf:"bytes,2,opt,name=poisson,proto3,oneof"`
   364  }
   365  
   366  func (*LoadParams_ClosedLoop) isLoadParams_Load() {}
   367  
   368  func (*LoadParams_Poisson) isLoadParams_Load() {}
   369  
   370  // presence of SecurityParams implies use of TLS
   371  type SecurityParams struct {
   372  	state              protoimpl.MessageState `protogen:"open.v1"`
   373  	UseTestCa          bool                   `protobuf:"varint,1,opt,name=use_test_ca,json=useTestCa,proto3" json:"use_test_ca,omitempty"`
   374  	ServerHostOverride string                 `protobuf:"bytes,2,opt,name=server_host_override,json=serverHostOverride,proto3" json:"server_host_override,omitempty"`
   375  	CredType           string                 `protobuf:"bytes,3,opt,name=cred_type,json=credType,proto3" json:"cred_type,omitempty"`
   376  	unknownFields      protoimpl.UnknownFields
   377  	sizeCache          protoimpl.SizeCache
   378  }
   379  
   380  func (x *SecurityParams) Reset() {
   381  	*x = SecurityParams{}
   382  	mi := &file_grpc_testing_control_proto_msgTypes[3]
   383  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   384  	ms.StoreMessageInfo(mi)
   385  }
   386  
   387  func (x *SecurityParams) String() string {
   388  	return protoimpl.X.MessageStringOf(x)
   389  }
   390  
   391  func (*SecurityParams) ProtoMessage() {}
   392  
   393  func (x *SecurityParams) ProtoReflect() protoreflect.Message {
   394  	mi := &file_grpc_testing_control_proto_msgTypes[3]
   395  	if x != nil {
   396  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   397  		if ms.LoadMessageInfo() == nil {
   398  			ms.StoreMessageInfo(mi)
   399  		}
   400  		return ms
   401  	}
   402  	return mi.MessageOf(x)
   403  }
   404  
   405  // Deprecated: Use SecurityParams.ProtoReflect.Descriptor instead.
   406  func (*SecurityParams) Descriptor() ([]byte, []int) {
   407  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{3}
   408  }
   409  
   410  func (x *SecurityParams) GetUseTestCa() bool {
   411  	if x != nil {
   412  		return x.UseTestCa
   413  	}
   414  	return false
   415  }
   416  
   417  func (x *SecurityParams) GetServerHostOverride() string {
   418  	if x != nil {
   419  		return x.ServerHostOverride
   420  	}
   421  	return ""
   422  }
   423  
   424  func (x *SecurityParams) GetCredType() string {
   425  	if x != nil {
   426  		return x.CredType
   427  	}
   428  	return ""
   429  }
   430  
   431  type ChannelArg struct {
   432  	state protoimpl.MessageState `protogen:"open.v1"`
   433  	Name  string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   434  	// Types that are valid to be assigned to Value:
   435  	//
   436  	//	*ChannelArg_StrValue
   437  	//	*ChannelArg_IntValue
   438  	Value         isChannelArg_Value `protobuf_oneof:"value"`
   439  	unknownFields protoimpl.UnknownFields
   440  	sizeCache     protoimpl.SizeCache
   441  }
   442  
   443  func (x *ChannelArg) Reset() {
   444  	*x = ChannelArg{}
   445  	mi := &file_grpc_testing_control_proto_msgTypes[4]
   446  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   447  	ms.StoreMessageInfo(mi)
   448  }
   449  
   450  func (x *ChannelArg) String() string {
   451  	return protoimpl.X.MessageStringOf(x)
   452  }
   453  
   454  func (*ChannelArg) ProtoMessage() {}
   455  
   456  func (x *ChannelArg) ProtoReflect() protoreflect.Message {
   457  	mi := &file_grpc_testing_control_proto_msgTypes[4]
   458  	if x != nil {
   459  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   460  		if ms.LoadMessageInfo() == nil {
   461  			ms.StoreMessageInfo(mi)
   462  		}
   463  		return ms
   464  	}
   465  	return mi.MessageOf(x)
   466  }
   467  
   468  // Deprecated: Use ChannelArg.ProtoReflect.Descriptor instead.
   469  func (*ChannelArg) Descriptor() ([]byte, []int) {
   470  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{4}
   471  }
   472  
   473  func (x *ChannelArg) GetName() string {
   474  	if x != nil {
   475  		return x.Name
   476  	}
   477  	return ""
   478  }
   479  
   480  func (x *ChannelArg) GetValue() isChannelArg_Value {
   481  	if x != nil {
   482  		return x.Value
   483  	}
   484  	return nil
   485  }
   486  
   487  func (x *ChannelArg) GetStrValue() string {
   488  	if x != nil {
   489  		if x, ok := x.Value.(*ChannelArg_StrValue); ok {
   490  			return x.StrValue
   491  		}
   492  	}
   493  	return ""
   494  }
   495  
   496  func (x *ChannelArg) GetIntValue() int32 {
   497  	if x != nil {
   498  		if x, ok := x.Value.(*ChannelArg_IntValue); ok {
   499  			return x.IntValue
   500  		}
   501  	}
   502  	return 0
   503  }
   504  
   505  type isChannelArg_Value interface {
   506  	isChannelArg_Value()
   507  }
   508  
   509  type ChannelArg_StrValue struct {
   510  	StrValue string `protobuf:"bytes,2,opt,name=str_value,json=strValue,proto3,oneof"`
   511  }
   512  
   513  type ChannelArg_IntValue struct {
   514  	IntValue int32 `protobuf:"varint,3,opt,name=int_value,json=intValue,proto3,oneof"`
   515  }
   516  
   517  func (*ChannelArg_StrValue) isChannelArg_Value() {}
   518  
   519  func (*ChannelArg_IntValue) isChannelArg_Value() {}
   520  
   521  type ClientConfig struct {
   522  	state protoimpl.MessageState `protogen:"open.v1"`
   523  	// List of targets to connect to. At least one target needs to be specified.
   524  	ServerTargets  []string        `protobuf:"bytes,1,rep,name=server_targets,json=serverTargets,proto3" json:"server_targets,omitempty"`
   525  	ClientType     ClientType      `protobuf:"varint,2,opt,name=client_type,json=clientType,proto3,enum=grpc.testing.ClientType" json:"client_type,omitempty"`
   526  	SecurityParams *SecurityParams `protobuf:"bytes,3,opt,name=security_params,json=securityParams,proto3" json:"security_params,omitempty"`
   527  	// How many concurrent RPCs to start for each channel.
   528  	// For synchronous client, use a separate thread for each outstanding RPC.
   529  	OutstandingRpcsPerChannel int32 `protobuf:"varint,4,opt,name=outstanding_rpcs_per_channel,json=outstandingRpcsPerChannel,proto3" json:"outstanding_rpcs_per_channel,omitempty"`
   530  	// Number of independent client channels to create.
   531  	// i-th channel will connect to server_target[i % server_targets.size()]
   532  	ClientChannels int32 `protobuf:"varint,5,opt,name=client_channels,json=clientChannels,proto3" json:"client_channels,omitempty"`
   533  	// Only for async client. Number of threads to use to start/manage RPCs.
   534  	AsyncClientThreads int32   `protobuf:"varint,7,opt,name=async_client_threads,json=asyncClientThreads,proto3" json:"async_client_threads,omitempty"`
   535  	RpcType            RpcType `protobuf:"varint,8,opt,name=rpc_type,json=rpcType,proto3,enum=grpc.testing.RpcType" json:"rpc_type,omitempty"`
   536  	// The requested load for the entire client (aggregated over all the threads).
   537  	LoadParams      *LoadParams      `protobuf:"bytes,10,opt,name=load_params,json=loadParams,proto3" json:"load_params,omitempty"`
   538  	PayloadConfig   *PayloadConfig   `protobuf:"bytes,11,opt,name=payload_config,json=payloadConfig,proto3" json:"payload_config,omitempty"`
   539  	HistogramParams *HistogramParams `protobuf:"bytes,12,opt,name=histogram_params,json=histogramParams,proto3" json:"histogram_params,omitempty"`
   540  	// Specify the cores we should run the client on, if desired
   541  	CoreList  []int32 `protobuf:"varint,13,rep,packed,name=core_list,json=coreList,proto3" json:"core_list,omitempty"`
   542  	CoreLimit int32   `protobuf:"varint,14,opt,name=core_limit,json=coreLimit,proto3" json:"core_limit,omitempty"`
   543  	// If we use an OTHER_CLIENT client_type, this string gives more detail
   544  	OtherClientApi string        `protobuf:"bytes,15,opt,name=other_client_api,json=otherClientApi,proto3" json:"other_client_api,omitempty"`
   545  	ChannelArgs    []*ChannelArg `protobuf:"bytes,16,rep,name=channel_args,json=channelArgs,proto3" json:"channel_args,omitempty"`
   546  	// Number of threads that share each completion queue
   547  	ThreadsPerCq int32 `protobuf:"varint,17,opt,name=threads_per_cq,json=threadsPerCq,proto3" json:"threads_per_cq,omitempty"`
   548  	// Number of messages on a stream before it gets finished/restarted
   549  	MessagesPerStream int32 `protobuf:"varint,18,opt,name=messages_per_stream,json=messagesPerStream,proto3" json:"messages_per_stream,omitempty"`
   550  	// Use coalescing API when possible.
   551  	UseCoalesceApi bool `protobuf:"varint,19,opt,name=use_coalesce_api,json=useCoalesceApi,proto3" json:"use_coalesce_api,omitempty"`
   552  	// If 0, disabled. Else, specifies the period between gathering latency
   553  	// medians in milliseconds.
   554  	MedianLatencyCollectionIntervalMillis int32 `protobuf:"varint,20,opt,name=median_latency_collection_interval_millis,json=medianLatencyCollectionIntervalMillis,proto3" json:"median_latency_collection_interval_millis,omitempty"`
   555  	// Number of client processes. 0 indicates no restriction.
   556  	ClientProcesses int32 `protobuf:"varint,21,opt,name=client_processes,json=clientProcesses,proto3" json:"client_processes,omitempty"`
   557  	unknownFields   protoimpl.UnknownFields
   558  	sizeCache       protoimpl.SizeCache
   559  }
   560  
   561  func (x *ClientConfig) Reset() {
   562  	*x = ClientConfig{}
   563  	mi := &file_grpc_testing_control_proto_msgTypes[5]
   564  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   565  	ms.StoreMessageInfo(mi)
   566  }
   567  
   568  func (x *ClientConfig) String() string {
   569  	return protoimpl.X.MessageStringOf(x)
   570  }
   571  
   572  func (*ClientConfig) ProtoMessage() {}
   573  
   574  func (x *ClientConfig) ProtoReflect() protoreflect.Message {
   575  	mi := &file_grpc_testing_control_proto_msgTypes[5]
   576  	if x != nil {
   577  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   578  		if ms.LoadMessageInfo() == nil {
   579  			ms.StoreMessageInfo(mi)
   580  		}
   581  		return ms
   582  	}
   583  	return mi.MessageOf(x)
   584  }
   585  
   586  // Deprecated: Use ClientConfig.ProtoReflect.Descriptor instead.
   587  func (*ClientConfig) Descriptor() ([]byte, []int) {
   588  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{5}
   589  }
   590  
   591  func (x *ClientConfig) GetServerTargets() []string {
   592  	if x != nil {
   593  		return x.ServerTargets
   594  	}
   595  	return nil
   596  }
   597  
   598  func (x *ClientConfig) GetClientType() ClientType {
   599  	if x != nil {
   600  		return x.ClientType
   601  	}
   602  	return ClientType_SYNC_CLIENT
   603  }
   604  
   605  func (x *ClientConfig) GetSecurityParams() *SecurityParams {
   606  	if x != nil {
   607  		return x.SecurityParams
   608  	}
   609  	return nil
   610  }
   611  
   612  func (x *ClientConfig) GetOutstandingRpcsPerChannel() int32 {
   613  	if x != nil {
   614  		return x.OutstandingRpcsPerChannel
   615  	}
   616  	return 0
   617  }
   618  
   619  func (x *ClientConfig) GetClientChannels() int32 {
   620  	if x != nil {
   621  		return x.ClientChannels
   622  	}
   623  	return 0
   624  }
   625  
   626  func (x *ClientConfig) GetAsyncClientThreads() int32 {
   627  	if x != nil {
   628  		return x.AsyncClientThreads
   629  	}
   630  	return 0
   631  }
   632  
   633  func (x *ClientConfig) GetRpcType() RpcType {
   634  	if x != nil {
   635  		return x.RpcType
   636  	}
   637  	return RpcType_UNARY
   638  }
   639  
   640  func (x *ClientConfig) GetLoadParams() *LoadParams {
   641  	if x != nil {
   642  		return x.LoadParams
   643  	}
   644  	return nil
   645  }
   646  
   647  func (x *ClientConfig) GetPayloadConfig() *PayloadConfig {
   648  	if x != nil {
   649  		return x.PayloadConfig
   650  	}
   651  	return nil
   652  }
   653  
   654  func (x *ClientConfig) GetHistogramParams() *HistogramParams {
   655  	if x != nil {
   656  		return x.HistogramParams
   657  	}
   658  	return nil
   659  }
   660  
   661  func (x *ClientConfig) GetCoreList() []int32 {
   662  	if x != nil {
   663  		return x.CoreList
   664  	}
   665  	return nil
   666  }
   667  
   668  func (x *ClientConfig) GetCoreLimit() int32 {
   669  	if x != nil {
   670  		return x.CoreLimit
   671  	}
   672  	return 0
   673  }
   674  
   675  func (x *ClientConfig) GetOtherClientApi() string {
   676  	if x != nil {
   677  		return x.OtherClientApi
   678  	}
   679  	return ""
   680  }
   681  
   682  func (x *ClientConfig) GetChannelArgs() []*ChannelArg {
   683  	if x != nil {
   684  		return x.ChannelArgs
   685  	}
   686  	return nil
   687  }
   688  
   689  func (x *ClientConfig) GetThreadsPerCq() int32 {
   690  	if x != nil {
   691  		return x.ThreadsPerCq
   692  	}
   693  	return 0
   694  }
   695  
   696  func (x *ClientConfig) GetMessagesPerStream() int32 {
   697  	if x != nil {
   698  		return x.MessagesPerStream
   699  	}
   700  	return 0
   701  }
   702  
   703  func (x *ClientConfig) GetUseCoalesceApi() bool {
   704  	if x != nil {
   705  		return x.UseCoalesceApi
   706  	}
   707  	return false
   708  }
   709  
   710  func (x *ClientConfig) GetMedianLatencyCollectionIntervalMillis() int32 {
   711  	if x != nil {
   712  		return x.MedianLatencyCollectionIntervalMillis
   713  	}
   714  	return 0
   715  }
   716  
   717  func (x *ClientConfig) GetClientProcesses() int32 {
   718  	if x != nil {
   719  		return x.ClientProcesses
   720  	}
   721  	return 0
   722  }
   723  
   724  type ClientStatus struct {
   725  	state         protoimpl.MessageState `protogen:"open.v1"`
   726  	Stats         *ClientStats           `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"`
   727  	unknownFields protoimpl.UnknownFields
   728  	sizeCache     protoimpl.SizeCache
   729  }
   730  
   731  func (x *ClientStatus) Reset() {
   732  	*x = ClientStatus{}
   733  	mi := &file_grpc_testing_control_proto_msgTypes[6]
   734  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   735  	ms.StoreMessageInfo(mi)
   736  }
   737  
   738  func (x *ClientStatus) String() string {
   739  	return protoimpl.X.MessageStringOf(x)
   740  }
   741  
   742  func (*ClientStatus) ProtoMessage() {}
   743  
   744  func (x *ClientStatus) ProtoReflect() protoreflect.Message {
   745  	mi := &file_grpc_testing_control_proto_msgTypes[6]
   746  	if x != nil {
   747  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   748  		if ms.LoadMessageInfo() == nil {
   749  			ms.StoreMessageInfo(mi)
   750  		}
   751  		return ms
   752  	}
   753  	return mi.MessageOf(x)
   754  }
   755  
   756  // Deprecated: Use ClientStatus.ProtoReflect.Descriptor instead.
   757  func (*ClientStatus) Descriptor() ([]byte, []int) {
   758  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{6}
   759  }
   760  
   761  func (x *ClientStatus) GetStats() *ClientStats {
   762  	if x != nil {
   763  		return x.Stats
   764  	}
   765  	return nil
   766  }
   767  
   768  // Request current stats
   769  type Mark struct {
   770  	state protoimpl.MessageState `protogen:"open.v1"`
   771  	// if true, the stats will be reset after taking their snapshot.
   772  	Reset_        bool `protobuf:"varint,1,opt,name=reset,proto3" json:"reset,omitempty"`
   773  	unknownFields protoimpl.UnknownFields
   774  	sizeCache     protoimpl.SizeCache
   775  }
   776  
   777  func (x *Mark) Reset() {
   778  	*x = Mark{}
   779  	mi := &file_grpc_testing_control_proto_msgTypes[7]
   780  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   781  	ms.StoreMessageInfo(mi)
   782  }
   783  
   784  func (x *Mark) String() string {
   785  	return protoimpl.X.MessageStringOf(x)
   786  }
   787  
   788  func (*Mark) ProtoMessage() {}
   789  
   790  func (x *Mark) ProtoReflect() protoreflect.Message {
   791  	mi := &file_grpc_testing_control_proto_msgTypes[7]
   792  	if x != nil {
   793  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   794  		if ms.LoadMessageInfo() == nil {
   795  			ms.StoreMessageInfo(mi)
   796  		}
   797  		return ms
   798  	}
   799  	return mi.MessageOf(x)
   800  }
   801  
   802  // Deprecated: Use Mark.ProtoReflect.Descriptor instead.
   803  func (*Mark) Descriptor() ([]byte, []int) {
   804  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{7}
   805  }
   806  
   807  func (x *Mark) GetReset_() bool {
   808  	if x != nil {
   809  		return x.Reset_
   810  	}
   811  	return false
   812  }
   813  
   814  type ClientArgs struct {
   815  	state protoimpl.MessageState `protogen:"open.v1"`
   816  	// Types that are valid to be assigned to Argtype:
   817  	//
   818  	//	*ClientArgs_Setup
   819  	//	*ClientArgs_Mark
   820  	Argtype       isClientArgs_Argtype `protobuf_oneof:"argtype"`
   821  	unknownFields protoimpl.UnknownFields
   822  	sizeCache     protoimpl.SizeCache
   823  }
   824  
   825  func (x *ClientArgs) Reset() {
   826  	*x = ClientArgs{}
   827  	mi := &file_grpc_testing_control_proto_msgTypes[8]
   828  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   829  	ms.StoreMessageInfo(mi)
   830  }
   831  
   832  func (x *ClientArgs) String() string {
   833  	return protoimpl.X.MessageStringOf(x)
   834  }
   835  
   836  func (*ClientArgs) ProtoMessage() {}
   837  
   838  func (x *ClientArgs) ProtoReflect() protoreflect.Message {
   839  	mi := &file_grpc_testing_control_proto_msgTypes[8]
   840  	if x != nil {
   841  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   842  		if ms.LoadMessageInfo() == nil {
   843  			ms.StoreMessageInfo(mi)
   844  		}
   845  		return ms
   846  	}
   847  	return mi.MessageOf(x)
   848  }
   849  
   850  // Deprecated: Use ClientArgs.ProtoReflect.Descriptor instead.
   851  func (*ClientArgs) Descriptor() ([]byte, []int) {
   852  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{8}
   853  }
   854  
   855  func (x *ClientArgs) GetArgtype() isClientArgs_Argtype {
   856  	if x != nil {
   857  		return x.Argtype
   858  	}
   859  	return nil
   860  }
   861  
   862  func (x *ClientArgs) GetSetup() *ClientConfig {
   863  	if x != nil {
   864  		if x, ok := x.Argtype.(*ClientArgs_Setup); ok {
   865  			return x.Setup
   866  		}
   867  	}
   868  	return nil
   869  }
   870  
   871  func (x *ClientArgs) GetMark() *Mark {
   872  	if x != nil {
   873  		if x, ok := x.Argtype.(*ClientArgs_Mark); ok {
   874  			return x.Mark
   875  		}
   876  	}
   877  	return nil
   878  }
   879  
   880  type isClientArgs_Argtype interface {
   881  	isClientArgs_Argtype()
   882  }
   883  
   884  type ClientArgs_Setup struct {
   885  	Setup *ClientConfig `protobuf:"bytes,1,opt,name=setup,proto3,oneof"`
   886  }
   887  
   888  type ClientArgs_Mark struct {
   889  	Mark *Mark `protobuf:"bytes,2,opt,name=mark,proto3,oneof"`
   890  }
   891  
   892  func (*ClientArgs_Setup) isClientArgs_Argtype() {}
   893  
   894  func (*ClientArgs_Mark) isClientArgs_Argtype() {}
   895  
   896  type ServerConfig struct {
   897  	state          protoimpl.MessageState `protogen:"open.v1"`
   898  	ServerType     ServerType             `protobuf:"varint,1,opt,name=server_type,json=serverType,proto3,enum=grpc.testing.ServerType" json:"server_type,omitempty"`
   899  	SecurityParams *SecurityParams        `protobuf:"bytes,2,opt,name=security_params,json=securityParams,proto3" json:"security_params,omitempty"`
   900  	// Port on which to listen. Zero means pick unused port.
   901  	Port int32 `protobuf:"varint,4,opt,name=port,proto3" json:"port,omitempty"`
   902  	// Only for async server. Number of threads used to serve the requests.
   903  	AsyncServerThreads int32 `protobuf:"varint,7,opt,name=async_server_threads,json=asyncServerThreads,proto3" json:"async_server_threads,omitempty"`
   904  	// Specify the number of cores to limit server to, if desired
   905  	CoreLimit int32 `protobuf:"varint,8,opt,name=core_limit,json=coreLimit,proto3" json:"core_limit,omitempty"`
   906  	// payload config, used in generic server.
   907  	// Note this must NOT be used in proto (non-generic) servers. For proto servers,
   908  	// 'response sizes' must be configured from the 'response_size' field of the
   909  	// 'SimpleRequest' objects in RPC requests.
   910  	PayloadConfig *PayloadConfig `protobuf:"bytes,9,opt,name=payload_config,json=payloadConfig,proto3" json:"payload_config,omitempty"`
   911  	// Specify the cores we should run the server on, if desired
   912  	CoreList []int32 `protobuf:"varint,10,rep,packed,name=core_list,json=coreList,proto3" json:"core_list,omitempty"`
   913  	// If we use an OTHER_SERVER client_type, this string gives more detail
   914  	OtherServerApi string `protobuf:"bytes,11,opt,name=other_server_api,json=otherServerApi,proto3" json:"other_server_api,omitempty"`
   915  	// Number of threads that share each completion queue
   916  	ThreadsPerCq int32 `protobuf:"varint,12,opt,name=threads_per_cq,json=threadsPerCq,proto3" json:"threads_per_cq,omitempty"`
   917  	// Buffer pool size (no buffer pool specified if unset)
   918  	ResourceQuotaSize int32         `protobuf:"varint,1001,opt,name=resource_quota_size,json=resourceQuotaSize,proto3" json:"resource_quota_size,omitempty"`
   919  	ChannelArgs       []*ChannelArg `protobuf:"bytes,1002,rep,name=channel_args,json=channelArgs,proto3" json:"channel_args,omitempty"`
   920  	// Number of server processes. 0 indicates no restriction.
   921  	ServerProcesses int32 `protobuf:"varint,21,opt,name=server_processes,json=serverProcesses,proto3" json:"server_processes,omitempty"`
   922  	unknownFields   protoimpl.UnknownFields
   923  	sizeCache       protoimpl.SizeCache
   924  }
   925  
   926  func (x *ServerConfig) Reset() {
   927  	*x = ServerConfig{}
   928  	mi := &file_grpc_testing_control_proto_msgTypes[9]
   929  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   930  	ms.StoreMessageInfo(mi)
   931  }
   932  
   933  func (x *ServerConfig) String() string {
   934  	return protoimpl.X.MessageStringOf(x)
   935  }
   936  
   937  func (*ServerConfig) ProtoMessage() {}
   938  
   939  func (x *ServerConfig) ProtoReflect() protoreflect.Message {
   940  	mi := &file_grpc_testing_control_proto_msgTypes[9]
   941  	if x != nil {
   942  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   943  		if ms.LoadMessageInfo() == nil {
   944  			ms.StoreMessageInfo(mi)
   945  		}
   946  		return ms
   947  	}
   948  	return mi.MessageOf(x)
   949  }
   950  
   951  // Deprecated: Use ServerConfig.ProtoReflect.Descriptor instead.
   952  func (*ServerConfig) Descriptor() ([]byte, []int) {
   953  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{9}
   954  }
   955  
   956  func (x *ServerConfig) GetServerType() ServerType {
   957  	if x != nil {
   958  		return x.ServerType
   959  	}
   960  	return ServerType_SYNC_SERVER
   961  }
   962  
   963  func (x *ServerConfig) GetSecurityParams() *SecurityParams {
   964  	if x != nil {
   965  		return x.SecurityParams
   966  	}
   967  	return nil
   968  }
   969  
   970  func (x *ServerConfig) GetPort() int32 {
   971  	if x != nil {
   972  		return x.Port
   973  	}
   974  	return 0
   975  }
   976  
   977  func (x *ServerConfig) GetAsyncServerThreads() int32 {
   978  	if x != nil {
   979  		return x.AsyncServerThreads
   980  	}
   981  	return 0
   982  }
   983  
   984  func (x *ServerConfig) GetCoreLimit() int32 {
   985  	if x != nil {
   986  		return x.CoreLimit
   987  	}
   988  	return 0
   989  }
   990  
   991  func (x *ServerConfig) GetPayloadConfig() *PayloadConfig {
   992  	if x != nil {
   993  		return x.PayloadConfig
   994  	}
   995  	return nil
   996  }
   997  
   998  func (x *ServerConfig) GetCoreList() []int32 {
   999  	if x != nil {
  1000  		return x.CoreList
  1001  	}
  1002  	return nil
  1003  }
  1004  
  1005  func (x *ServerConfig) GetOtherServerApi() string {
  1006  	if x != nil {
  1007  		return x.OtherServerApi
  1008  	}
  1009  	return ""
  1010  }
  1011  
  1012  func (x *ServerConfig) GetThreadsPerCq() int32 {
  1013  	if x != nil {
  1014  		return x.ThreadsPerCq
  1015  	}
  1016  	return 0
  1017  }
  1018  
  1019  func (x *ServerConfig) GetResourceQuotaSize() int32 {
  1020  	if x != nil {
  1021  		return x.ResourceQuotaSize
  1022  	}
  1023  	return 0
  1024  }
  1025  
  1026  func (x *ServerConfig) GetChannelArgs() []*ChannelArg {
  1027  	if x != nil {
  1028  		return x.ChannelArgs
  1029  	}
  1030  	return nil
  1031  }
  1032  
  1033  func (x *ServerConfig) GetServerProcesses() int32 {
  1034  	if x != nil {
  1035  		return x.ServerProcesses
  1036  	}
  1037  	return 0
  1038  }
  1039  
  1040  type ServerArgs struct {
  1041  	state protoimpl.MessageState `protogen:"open.v1"`
  1042  	// Types that are valid to be assigned to Argtype:
  1043  	//
  1044  	//	*ServerArgs_Setup
  1045  	//	*ServerArgs_Mark
  1046  	Argtype       isServerArgs_Argtype `protobuf_oneof:"argtype"`
  1047  	unknownFields protoimpl.UnknownFields
  1048  	sizeCache     protoimpl.SizeCache
  1049  }
  1050  
  1051  func (x *ServerArgs) Reset() {
  1052  	*x = ServerArgs{}
  1053  	mi := &file_grpc_testing_control_proto_msgTypes[10]
  1054  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1055  	ms.StoreMessageInfo(mi)
  1056  }
  1057  
  1058  func (x *ServerArgs) String() string {
  1059  	return protoimpl.X.MessageStringOf(x)
  1060  }
  1061  
  1062  func (*ServerArgs) ProtoMessage() {}
  1063  
  1064  func (x *ServerArgs) ProtoReflect() protoreflect.Message {
  1065  	mi := &file_grpc_testing_control_proto_msgTypes[10]
  1066  	if x != nil {
  1067  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1068  		if ms.LoadMessageInfo() == nil {
  1069  			ms.StoreMessageInfo(mi)
  1070  		}
  1071  		return ms
  1072  	}
  1073  	return mi.MessageOf(x)
  1074  }
  1075  
  1076  // Deprecated: Use ServerArgs.ProtoReflect.Descriptor instead.
  1077  func (*ServerArgs) Descriptor() ([]byte, []int) {
  1078  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{10}
  1079  }
  1080  
  1081  func (x *ServerArgs) GetArgtype() isServerArgs_Argtype {
  1082  	if x != nil {
  1083  		return x.Argtype
  1084  	}
  1085  	return nil
  1086  }
  1087  
  1088  func (x *ServerArgs) GetSetup() *ServerConfig {
  1089  	if x != nil {
  1090  		if x, ok := x.Argtype.(*ServerArgs_Setup); ok {
  1091  			return x.Setup
  1092  		}
  1093  	}
  1094  	return nil
  1095  }
  1096  
  1097  func (x *ServerArgs) GetMark() *Mark {
  1098  	if x != nil {
  1099  		if x, ok := x.Argtype.(*ServerArgs_Mark); ok {
  1100  			return x.Mark
  1101  		}
  1102  	}
  1103  	return nil
  1104  }
  1105  
  1106  type isServerArgs_Argtype interface {
  1107  	isServerArgs_Argtype()
  1108  }
  1109  
  1110  type ServerArgs_Setup struct {
  1111  	Setup *ServerConfig `protobuf:"bytes,1,opt,name=setup,proto3,oneof"`
  1112  }
  1113  
  1114  type ServerArgs_Mark struct {
  1115  	Mark *Mark `protobuf:"bytes,2,opt,name=mark,proto3,oneof"`
  1116  }
  1117  
  1118  func (*ServerArgs_Setup) isServerArgs_Argtype() {}
  1119  
  1120  func (*ServerArgs_Mark) isServerArgs_Argtype() {}
  1121  
  1122  type ServerStatus struct {
  1123  	state protoimpl.MessageState `protogen:"open.v1"`
  1124  	Stats *ServerStats           `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"`
  1125  	// the port bound by the server
  1126  	Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
  1127  	// Number of cores available to the server
  1128  	Cores         int32 `protobuf:"varint,3,opt,name=cores,proto3" json:"cores,omitempty"`
  1129  	unknownFields protoimpl.UnknownFields
  1130  	sizeCache     protoimpl.SizeCache
  1131  }
  1132  
  1133  func (x *ServerStatus) Reset() {
  1134  	*x = ServerStatus{}
  1135  	mi := &file_grpc_testing_control_proto_msgTypes[11]
  1136  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1137  	ms.StoreMessageInfo(mi)
  1138  }
  1139  
  1140  func (x *ServerStatus) String() string {
  1141  	return protoimpl.X.MessageStringOf(x)
  1142  }
  1143  
  1144  func (*ServerStatus) ProtoMessage() {}
  1145  
  1146  func (x *ServerStatus) ProtoReflect() protoreflect.Message {
  1147  	mi := &file_grpc_testing_control_proto_msgTypes[11]
  1148  	if x != nil {
  1149  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1150  		if ms.LoadMessageInfo() == nil {
  1151  			ms.StoreMessageInfo(mi)
  1152  		}
  1153  		return ms
  1154  	}
  1155  	return mi.MessageOf(x)
  1156  }
  1157  
  1158  // Deprecated: Use ServerStatus.ProtoReflect.Descriptor instead.
  1159  func (*ServerStatus) Descriptor() ([]byte, []int) {
  1160  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{11}
  1161  }
  1162  
  1163  func (x *ServerStatus) GetStats() *ServerStats {
  1164  	if x != nil {
  1165  		return x.Stats
  1166  	}
  1167  	return nil
  1168  }
  1169  
  1170  func (x *ServerStatus) GetPort() int32 {
  1171  	if x != nil {
  1172  		return x.Port
  1173  	}
  1174  	return 0
  1175  }
  1176  
  1177  func (x *ServerStatus) GetCores() int32 {
  1178  	if x != nil {
  1179  		return x.Cores
  1180  	}
  1181  	return 0
  1182  }
  1183  
  1184  type CoreRequest struct {
  1185  	state         protoimpl.MessageState `protogen:"open.v1"`
  1186  	unknownFields protoimpl.UnknownFields
  1187  	sizeCache     protoimpl.SizeCache
  1188  }
  1189  
  1190  func (x *CoreRequest) Reset() {
  1191  	*x = CoreRequest{}
  1192  	mi := &file_grpc_testing_control_proto_msgTypes[12]
  1193  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1194  	ms.StoreMessageInfo(mi)
  1195  }
  1196  
  1197  func (x *CoreRequest) String() string {
  1198  	return protoimpl.X.MessageStringOf(x)
  1199  }
  1200  
  1201  func (*CoreRequest) ProtoMessage() {}
  1202  
  1203  func (x *CoreRequest) ProtoReflect() protoreflect.Message {
  1204  	mi := &file_grpc_testing_control_proto_msgTypes[12]
  1205  	if x != nil {
  1206  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1207  		if ms.LoadMessageInfo() == nil {
  1208  			ms.StoreMessageInfo(mi)
  1209  		}
  1210  		return ms
  1211  	}
  1212  	return mi.MessageOf(x)
  1213  }
  1214  
  1215  // Deprecated: Use CoreRequest.ProtoReflect.Descriptor instead.
  1216  func (*CoreRequest) Descriptor() ([]byte, []int) {
  1217  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{12}
  1218  }
  1219  
  1220  type CoreResponse struct {
  1221  	state protoimpl.MessageState `protogen:"open.v1"`
  1222  	// Number of cores available on the server
  1223  	Cores         int32 `protobuf:"varint,1,opt,name=cores,proto3" json:"cores,omitempty"`
  1224  	unknownFields protoimpl.UnknownFields
  1225  	sizeCache     protoimpl.SizeCache
  1226  }
  1227  
  1228  func (x *CoreResponse) Reset() {
  1229  	*x = CoreResponse{}
  1230  	mi := &file_grpc_testing_control_proto_msgTypes[13]
  1231  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1232  	ms.StoreMessageInfo(mi)
  1233  }
  1234  
  1235  func (x *CoreResponse) String() string {
  1236  	return protoimpl.X.MessageStringOf(x)
  1237  }
  1238  
  1239  func (*CoreResponse) ProtoMessage() {}
  1240  
  1241  func (x *CoreResponse) ProtoReflect() protoreflect.Message {
  1242  	mi := &file_grpc_testing_control_proto_msgTypes[13]
  1243  	if x != nil {
  1244  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1245  		if ms.LoadMessageInfo() == nil {
  1246  			ms.StoreMessageInfo(mi)
  1247  		}
  1248  		return ms
  1249  	}
  1250  	return mi.MessageOf(x)
  1251  }
  1252  
  1253  // Deprecated: Use CoreResponse.ProtoReflect.Descriptor instead.
  1254  func (*CoreResponse) Descriptor() ([]byte, []int) {
  1255  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{13}
  1256  }
  1257  
  1258  func (x *CoreResponse) GetCores() int32 {
  1259  	if x != nil {
  1260  		return x.Cores
  1261  	}
  1262  	return 0
  1263  }
  1264  
  1265  type Void struct {
  1266  	state         protoimpl.MessageState `protogen:"open.v1"`
  1267  	unknownFields protoimpl.UnknownFields
  1268  	sizeCache     protoimpl.SizeCache
  1269  }
  1270  
  1271  func (x *Void) Reset() {
  1272  	*x = Void{}
  1273  	mi := &file_grpc_testing_control_proto_msgTypes[14]
  1274  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1275  	ms.StoreMessageInfo(mi)
  1276  }
  1277  
  1278  func (x *Void) String() string {
  1279  	return protoimpl.X.MessageStringOf(x)
  1280  }
  1281  
  1282  func (*Void) ProtoMessage() {}
  1283  
  1284  func (x *Void) ProtoReflect() protoreflect.Message {
  1285  	mi := &file_grpc_testing_control_proto_msgTypes[14]
  1286  	if x != nil {
  1287  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1288  		if ms.LoadMessageInfo() == nil {
  1289  			ms.StoreMessageInfo(mi)
  1290  		}
  1291  		return ms
  1292  	}
  1293  	return mi.MessageOf(x)
  1294  }
  1295  
  1296  // Deprecated: Use Void.ProtoReflect.Descriptor instead.
  1297  func (*Void) Descriptor() ([]byte, []int) {
  1298  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{14}
  1299  }
  1300  
  1301  // A single performance scenario: input to qps_json_driver
  1302  type Scenario struct {
  1303  	state protoimpl.MessageState `protogen:"open.v1"`
  1304  	// Human readable name for this scenario
  1305  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1306  	// Client configuration
  1307  	ClientConfig *ClientConfig `protobuf:"bytes,2,opt,name=client_config,json=clientConfig,proto3" json:"client_config,omitempty"`
  1308  	// Number of clients to start for the test
  1309  	NumClients int32 `protobuf:"varint,3,opt,name=num_clients,json=numClients,proto3" json:"num_clients,omitempty"`
  1310  	// Server configuration
  1311  	ServerConfig *ServerConfig `protobuf:"bytes,4,opt,name=server_config,json=serverConfig,proto3" json:"server_config,omitempty"`
  1312  	// Number of servers to start for the test
  1313  	NumServers int32 `protobuf:"varint,5,opt,name=num_servers,json=numServers,proto3" json:"num_servers,omitempty"`
  1314  	// Warmup period, in seconds
  1315  	WarmupSeconds int32 `protobuf:"varint,6,opt,name=warmup_seconds,json=warmupSeconds,proto3" json:"warmup_seconds,omitempty"`
  1316  	// Benchmark time, in seconds
  1317  	BenchmarkSeconds int32 `protobuf:"varint,7,opt,name=benchmark_seconds,json=benchmarkSeconds,proto3" json:"benchmark_seconds,omitempty"`
  1318  	// Number of workers to spawn locally (usually zero)
  1319  	SpawnLocalWorkerCount int32 `protobuf:"varint,8,opt,name=spawn_local_worker_count,json=spawnLocalWorkerCount,proto3" json:"spawn_local_worker_count,omitempty"`
  1320  	unknownFields         protoimpl.UnknownFields
  1321  	sizeCache             protoimpl.SizeCache
  1322  }
  1323  
  1324  func (x *Scenario) Reset() {
  1325  	*x = Scenario{}
  1326  	mi := &file_grpc_testing_control_proto_msgTypes[15]
  1327  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1328  	ms.StoreMessageInfo(mi)
  1329  }
  1330  
  1331  func (x *Scenario) String() string {
  1332  	return protoimpl.X.MessageStringOf(x)
  1333  }
  1334  
  1335  func (*Scenario) ProtoMessage() {}
  1336  
  1337  func (x *Scenario) ProtoReflect() protoreflect.Message {
  1338  	mi := &file_grpc_testing_control_proto_msgTypes[15]
  1339  	if x != nil {
  1340  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1341  		if ms.LoadMessageInfo() == nil {
  1342  			ms.StoreMessageInfo(mi)
  1343  		}
  1344  		return ms
  1345  	}
  1346  	return mi.MessageOf(x)
  1347  }
  1348  
  1349  // Deprecated: Use Scenario.ProtoReflect.Descriptor instead.
  1350  func (*Scenario) Descriptor() ([]byte, []int) {
  1351  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{15}
  1352  }
  1353  
  1354  func (x *Scenario) GetName() string {
  1355  	if x != nil {
  1356  		return x.Name
  1357  	}
  1358  	return ""
  1359  }
  1360  
  1361  func (x *Scenario) GetClientConfig() *ClientConfig {
  1362  	if x != nil {
  1363  		return x.ClientConfig
  1364  	}
  1365  	return nil
  1366  }
  1367  
  1368  func (x *Scenario) GetNumClients() int32 {
  1369  	if x != nil {
  1370  		return x.NumClients
  1371  	}
  1372  	return 0
  1373  }
  1374  
  1375  func (x *Scenario) GetServerConfig() *ServerConfig {
  1376  	if x != nil {
  1377  		return x.ServerConfig
  1378  	}
  1379  	return nil
  1380  }
  1381  
  1382  func (x *Scenario) GetNumServers() int32 {
  1383  	if x != nil {
  1384  		return x.NumServers
  1385  	}
  1386  	return 0
  1387  }
  1388  
  1389  func (x *Scenario) GetWarmupSeconds() int32 {
  1390  	if x != nil {
  1391  		return x.WarmupSeconds
  1392  	}
  1393  	return 0
  1394  }
  1395  
  1396  func (x *Scenario) GetBenchmarkSeconds() int32 {
  1397  	if x != nil {
  1398  		return x.BenchmarkSeconds
  1399  	}
  1400  	return 0
  1401  }
  1402  
  1403  func (x *Scenario) GetSpawnLocalWorkerCount() int32 {
  1404  	if x != nil {
  1405  		return x.SpawnLocalWorkerCount
  1406  	}
  1407  	return 0
  1408  }
  1409  
  1410  // A set of scenarios to be run with qps_json_driver
  1411  type Scenarios struct {
  1412  	state         protoimpl.MessageState `protogen:"open.v1"`
  1413  	Scenarios     []*Scenario            `protobuf:"bytes,1,rep,name=scenarios,proto3" json:"scenarios,omitempty"`
  1414  	unknownFields protoimpl.UnknownFields
  1415  	sizeCache     protoimpl.SizeCache
  1416  }
  1417  
  1418  func (x *Scenarios) Reset() {
  1419  	*x = Scenarios{}
  1420  	mi := &file_grpc_testing_control_proto_msgTypes[16]
  1421  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1422  	ms.StoreMessageInfo(mi)
  1423  }
  1424  
  1425  func (x *Scenarios) String() string {
  1426  	return protoimpl.X.MessageStringOf(x)
  1427  }
  1428  
  1429  func (*Scenarios) ProtoMessage() {}
  1430  
  1431  func (x *Scenarios) ProtoReflect() protoreflect.Message {
  1432  	mi := &file_grpc_testing_control_proto_msgTypes[16]
  1433  	if x != nil {
  1434  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1435  		if ms.LoadMessageInfo() == nil {
  1436  			ms.StoreMessageInfo(mi)
  1437  		}
  1438  		return ms
  1439  	}
  1440  	return mi.MessageOf(x)
  1441  }
  1442  
  1443  // Deprecated: Use Scenarios.ProtoReflect.Descriptor instead.
  1444  func (*Scenarios) Descriptor() ([]byte, []int) {
  1445  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{16}
  1446  }
  1447  
  1448  func (x *Scenarios) GetScenarios() []*Scenario {
  1449  	if x != nil {
  1450  		return x.Scenarios
  1451  	}
  1452  	return nil
  1453  }
  1454  
  1455  // Basic summary that can be computed from ClientStats and ServerStats
  1456  // once the scenario has finished.
  1457  type ScenarioResultSummary struct {
  1458  	state protoimpl.MessageState `protogen:"open.v1"`
  1459  	// Total number of operations per second over all clients. What is counted as 1 'operation' depends on the benchmark scenarios:
  1460  	// For unary benchmarks, an operation is processing of a single unary RPC.
  1461  	// For streaming benchmarks, an operation is processing of a single ping pong of request and response.
  1462  	Qps float64 `protobuf:"fixed64,1,opt,name=qps,proto3" json:"qps,omitempty"`
  1463  	// QPS per server core.
  1464  	QpsPerServerCore float64 `protobuf:"fixed64,2,opt,name=qps_per_server_core,json=qpsPerServerCore,proto3" json:"qps_per_server_core,omitempty"`
  1465  	// The total server cpu load based on system time across all server processes, expressed as percentage of a single cpu core.
  1466  	// 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
  1467  	// processes, the value could > 100 when there are multiple servers or a single server using multiple threads and cores.
  1468  	// Same explanation for the total client cpu load below.
  1469  	ServerSystemTime float64 `protobuf:"fixed64,3,opt,name=server_system_time,json=serverSystemTime,proto3" json:"server_system_time,omitempty"`
  1470  	// 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%)
  1471  	ServerUserTime float64 `protobuf:"fixed64,4,opt,name=server_user_time,json=serverUserTime,proto3" json:"server_user_time,omitempty"`
  1472  	// 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%)
  1473  	ClientSystemTime float64 `protobuf:"fixed64,5,opt,name=client_system_time,json=clientSystemTime,proto3" json:"client_system_time,omitempty"`
  1474  	// 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%)
  1475  	ClientUserTime float64 `protobuf:"fixed64,6,opt,name=client_user_time,json=clientUserTime,proto3" json:"client_user_time,omitempty"`
  1476  	// X% latency percentiles (in nanoseconds)
  1477  	Latency_50  float64 `protobuf:"fixed64,7,opt,name=latency_50,json=latency50,proto3" json:"latency_50,omitempty"`
  1478  	Latency_90  float64 `protobuf:"fixed64,8,opt,name=latency_90,json=latency90,proto3" json:"latency_90,omitempty"`
  1479  	Latency_95  float64 `protobuf:"fixed64,9,opt,name=latency_95,json=latency95,proto3" json:"latency_95,omitempty"`
  1480  	Latency_99  float64 `protobuf:"fixed64,10,opt,name=latency_99,json=latency99,proto3" json:"latency_99,omitempty"`
  1481  	Latency_999 float64 `protobuf:"fixed64,11,opt,name=latency_999,json=latency999,proto3" json:"latency_999,omitempty"`
  1482  	// server cpu usage percentage
  1483  	ServerCpuUsage float64 `protobuf:"fixed64,12,opt,name=server_cpu_usage,json=serverCpuUsage,proto3" json:"server_cpu_usage,omitempty"`
  1484  	// Number of requests that succeeded/failed
  1485  	SuccessfulRequestsPerSecond float64 `protobuf:"fixed64,13,opt,name=successful_requests_per_second,json=successfulRequestsPerSecond,proto3" json:"successful_requests_per_second,omitempty"`
  1486  	FailedRequestsPerSecond     float64 `protobuf:"fixed64,14,opt,name=failed_requests_per_second,json=failedRequestsPerSecond,proto3" json:"failed_requests_per_second,omitempty"`
  1487  	// Number of polls called inside completion queue per request
  1488  	ClientPollsPerRequest float64 `protobuf:"fixed64,15,opt,name=client_polls_per_request,json=clientPollsPerRequest,proto3" json:"client_polls_per_request,omitempty"`
  1489  	ServerPollsPerRequest float64 `protobuf:"fixed64,16,opt,name=server_polls_per_request,json=serverPollsPerRequest,proto3" json:"server_polls_per_request,omitempty"`
  1490  	// Queries per CPU-sec over all servers or clients
  1491  	ServerQueriesPerCpuSec float64 `protobuf:"fixed64,17,opt,name=server_queries_per_cpu_sec,json=serverQueriesPerCpuSec,proto3" json:"server_queries_per_cpu_sec,omitempty"`
  1492  	ClientQueriesPerCpuSec float64 `protobuf:"fixed64,18,opt,name=client_queries_per_cpu_sec,json=clientQueriesPerCpuSec,proto3" json:"client_queries_per_cpu_sec,omitempty"`
  1493  	// Start and end time for the test scenario
  1494  	StartTime     *timestamppb.Timestamp `protobuf:"bytes,19,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
  1495  	EndTime       *timestamppb.Timestamp `protobuf:"bytes,20,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
  1496  	unknownFields protoimpl.UnknownFields
  1497  	sizeCache     protoimpl.SizeCache
  1498  }
  1499  
  1500  func (x *ScenarioResultSummary) Reset() {
  1501  	*x = ScenarioResultSummary{}
  1502  	mi := &file_grpc_testing_control_proto_msgTypes[17]
  1503  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1504  	ms.StoreMessageInfo(mi)
  1505  }
  1506  
  1507  func (x *ScenarioResultSummary) String() string {
  1508  	return protoimpl.X.MessageStringOf(x)
  1509  }
  1510  
  1511  func (*ScenarioResultSummary) ProtoMessage() {}
  1512  
  1513  func (x *ScenarioResultSummary) ProtoReflect() protoreflect.Message {
  1514  	mi := &file_grpc_testing_control_proto_msgTypes[17]
  1515  	if x != nil {
  1516  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1517  		if ms.LoadMessageInfo() == nil {
  1518  			ms.StoreMessageInfo(mi)
  1519  		}
  1520  		return ms
  1521  	}
  1522  	return mi.MessageOf(x)
  1523  }
  1524  
  1525  // Deprecated: Use ScenarioResultSummary.ProtoReflect.Descriptor instead.
  1526  func (*ScenarioResultSummary) Descriptor() ([]byte, []int) {
  1527  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{17}
  1528  }
  1529  
  1530  func (x *ScenarioResultSummary) GetQps() float64 {
  1531  	if x != nil {
  1532  		return x.Qps
  1533  	}
  1534  	return 0
  1535  }
  1536  
  1537  func (x *ScenarioResultSummary) GetQpsPerServerCore() float64 {
  1538  	if x != nil {
  1539  		return x.QpsPerServerCore
  1540  	}
  1541  	return 0
  1542  }
  1543  
  1544  func (x *ScenarioResultSummary) GetServerSystemTime() float64 {
  1545  	if x != nil {
  1546  		return x.ServerSystemTime
  1547  	}
  1548  	return 0
  1549  }
  1550  
  1551  func (x *ScenarioResultSummary) GetServerUserTime() float64 {
  1552  	if x != nil {
  1553  		return x.ServerUserTime
  1554  	}
  1555  	return 0
  1556  }
  1557  
  1558  func (x *ScenarioResultSummary) GetClientSystemTime() float64 {
  1559  	if x != nil {
  1560  		return x.ClientSystemTime
  1561  	}
  1562  	return 0
  1563  }
  1564  
  1565  func (x *ScenarioResultSummary) GetClientUserTime() float64 {
  1566  	if x != nil {
  1567  		return x.ClientUserTime
  1568  	}
  1569  	return 0
  1570  }
  1571  
  1572  func (x *ScenarioResultSummary) GetLatency_50() float64 {
  1573  	if x != nil {
  1574  		return x.Latency_50
  1575  	}
  1576  	return 0
  1577  }
  1578  
  1579  func (x *ScenarioResultSummary) GetLatency_90() float64 {
  1580  	if x != nil {
  1581  		return x.Latency_90
  1582  	}
  1583  	return 0
  1584  }
  1585  
  1586  func (x *ScenarioResultSummary) GetLatency_95() float64 {
  1587  	if x != nil {
  1588  		return x.Latency_95
  1589  	}
  1590  	return 0
  1591  }
  1592  
  1593  func (x *ScenarioResultSummary) GetLatency_99() float64 {
  1594  	if x != nil {
  1595  		return x.Latency_99
  1596  	}
  1597  	return 0
  1598  }
  1599  
  1600  func (x *ScenarioResultSummary) GetLatency_999() float64 {
  1601  	if x != nil {
  1602  		return x.Latency_999
  1603  	}
  1604  	return 0
  1605  }
  1606  
  1607  func (x *ScenarioResultSummary) GetServerCpuUsage() float64 {
  1608  	if x != nil {
  1609  		return x.ServerCpuUsage
  1610  	}
  1611  	return 0
  1612  }
  1613  
  1614  func (x *ScenarioResultSummary) GetSuccessfulRequestsPerSecond() float64 {
  1615  	if x != nil {
  1616  		return x.SuccessfulRequestsPerSecond
  1617  	}
  1618  	return 0
  1619  }
  1620  
  1621  func (x *ScenarioResultSummary) GetFailedRequestsPerSecond() float64 {
  1622  	if x != nil {
  1623  		return x.FailedRequestsPerSecond
  1624  	}
  1625  	return 0
  1626  }
  1627  
  1628  func (x *ScenarioResultSummary) GetClientPollsPerRequest() float64 {
  1629  	if x != nil {
  1630  		return x.ClientPollsPerRequest
  1631  	}
  1632  	return 0
  1633  }
  1634  
  1635  func (x *ScenarioResultSummary) GetServerPollsPerRequest() float64 {
  1636  	if x != nil {
  1637  		return x.ServerPollsPerRequest
  1638  	}
  1639  	return 0
  1640  }
  1641  
  1642  func (x *ScenarioResultSummary) GetServerQueriesPerCpuSec() float64 {
  1643  	if x != nil {
  1644  		return x.ServerQueriesPerCpuSec
  1645  	}
  1646  	return 0
  1647  }
  1648  
  1649  func (x *ScenarioResultSummary) GetClientQueriesPerCpuSec() float64 {
  1650  	if x != nil {
  1651  		return x.ClientQueriesPerCpuSec
  1652  	}
  1653  	return 0
  1654  }
  1655  
  1656  func (x *ScenarioResultSummary) GetStartTime() *timestamppb.Timestamp {
  1657  	if x != nil {
  1658  		return x.StartTime
  1659  	}
  1660  	return nil
  1661  }
  1662  
  1663  func (x *ScenarioResultSummary) GetEndTime() *timestamppb.Timestamp {
  1664  	if x != nil {
  1665  		return x.EndTime
  1666  	}
  1667  	return nil
  1668  }
  1669  
  1670  // Results of a single benchmark scenario.
  1671  type ScenarioResult struct {
  1672  	state protoimpl.MessageState `protogen:"open.v1"`
  1673  	// Inputs used to run the scenario.
  1674  	Scenario *Scenario `protobuf:"bytes,1,opt,name=scenario,proto3" json:"scenario,omitempty"`
  1675  	// Histograms from all clients merged into one histogram.
  1676  	Latencies *HistogramData `protobuf:"bytes,2,opt,name=latencies,proto3" json:"latencies,omitempty"`
  1677  	// Client stats for each client
  1678  	ClientStats []*ClientStats `protobuf:"bytes,3,rep,name=client_stats,json=clientStats,proto3" json:"client_stats,omitempty"`
  1679  	// Server stats for each server
  1680  	ServerStats []*ServerStats `protobuf:"bytes,4,rep,name=server_stats,json=serverStats,proto3" json:"server_stats,omitempty"`
  1681  	// Number of cores available to each server
  1682  	ServerCores []int32 `protobuf:"varint,5,rep,packed,name=server_cores,json=serverCores,proto3" json:"server_cores,omitempty"`
  1683  	// An after-the-fact computed summary
  1684  	Summary *ScenarioResultSummary `protobuf:"bytes,6,opt,name=summary,proto3" json:"summary,omitempty"`
  1685  	// Information on success or failure of each worker
  1686  	ClientSuccess []bool `protobuf:"varint,7,rep,packed,name=client_success,json=clientSuccess,proto3" json:"client_success,omitempty"`
  1687  	ServerSuccess []bool `protobuf:"varint,8,rep,packed,name=server_success,json=serverSuccess,proto3" json:"server_success,omitempty"`
  1688  	// Number of failed requests (one row per status code seen)
  1689  	RequestResults []*RequestResultCount `protobuf:"bytes,9,rep,name=request_results,json=requestResults,proto3" json:"request_results,omitempty"`
  1690  	unknownFields  protoimpl.UnknownFields
  1691  	sizeCache      protoimpl.SizeCache
  1692  }
  1693  
  1694  func (x *ScenarioResult) Reset() {
  1695  	*x = ScenarioResult{}
  1696  	mi := &file_grpc_testing_control_proto_msgTypes[18]
  1697  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1698  	ms.StoreMessageInfo(mi)
  1699  }
  1700  
  1701  func (x *ScenarioResult) String() string {
  1702  	return protoimpl.X.MessageStringOf(x)
  1703  }
  1704  
  1705  func (*ScenarioResult) ProtoMessage() {}
  1706  
  1707  func (x *ScenarioResult) ProtoReflect() protoreflect.Message {
  1708  	mi := &file_grpc_testing_control_proto_msgTypes[18]
  1709  	if x != nil {
  1710  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1711  		if ms.LoadMessageInfo() == nil {
  1712  			ms.StoreMessageInfo(mi)
  1713  		}
  1714  		return ms
  1715  	}
  1716  	return mi.MessageOf(x)
  1717  }
  1718  
  1719  // Deprecated: Use ScenarioResult.ProtoReflect.Descriptor instead.
  1720  func (*ScenarioResult) Descriptor() ([]byte, []int) {
  1721  	return file_grpc_testing_control_proto_rawDescGZIP(), []int{18}
  1722  }
  1723  
  1724  func (x *ScenarioResult) GetScenario() *Scenario {
  1725  	if x != nil {
  1726  		return x.Scenario
  1727  	}
  1728  	return nil
  1729  }
  1730  
  1731  func (x *ScenarioResult) GetLatencies() *HistogramData {
  1732  	if x != nil {
  1733  		return x.Latencies
  1734  	}
  1735  	return nil
  1736  }
  1737  
  1738  func (x *ScenarioResult) GetClientStats() []*ClientStats {
  1739  	if x != nil {
  1740  		return x.ClientStats
  1741  	}
  1742  	return nil
  1743  }
  1744  
  1745  func (x *ScenarioResult) GetServerStats() []*ServerStats {
  1746  	if x != nil {
  1747  		return x.ServerStats
  1748  	}
  1749  	return nil
  1750  }
  1751  
  1752  func (x *ScenarioResult) GetServerCores() []int32 {
  1753  	if x != nil {
  1754  		return x.ServerCores
  1755  	}
  1756  	return nil
  1757  }
  1758  
  1759  func (x *ScenarioResult) GetSummary() *ScenarioResultSummary {
  1760  	if x != nil {
  1761  		return x.Summary
  1762  	}
  1763  	return nil
  1764  }
  1765  
  1766  func (x *ScenarioResult) GetClientSuccess() []bool {
  1767  	if x != nil {
  1768  		return x.ClientSuccess
  1769  	}
  1770  	return nil
  1771  }
  1772  
  1773  func (x *ScenarioResult) GetServerSuccess() []bool {
  1774  	if x != nil {
  1775  		return x.ServerSuccess
  1776  	}
  1777  	return nil
  1778  }
  1779  
  1780  func (x *ScenarioResult) GetRequestResults() []*RequestResultCount {
  1781  	if x != nil {
  1782  		return x.RequestResults
  1783  	}
  1784  	return nil
  1785  }
  1786  
  1787  var File_grpc_testing_control_proto protoreflect.FileDescriptor
  1788  
  1789  var file_grpc_testing_control_proto_rawDesc = string([]byte{
  1790  	0x0a, 0x1a, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x63,
  1791  	0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x67, 0x72,
  1792  	0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x1a, 0x1b, 0x67, 0x72, 0x70, 0x63,
  1793  	0x2f, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
  1794  	0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x65,
  1795  	0x73, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1796  	0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  1797  	0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f,
  1798  	0x74, 0x6f, 0x22, 0x32, 0x0a, 0x0d, 0x50, 0x6f, 0x69, 0x73, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72,
  1799  	0x61, 0x6d, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x6c,
  1800  	0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x65, 0x72,
  1801  	0x65, 0x64, 0x4c, 0x6f, 0x61, 0x64, 0x22, 0x12, 0x0a, 0x10, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64,
  1802  	0x4c, 0x6f, 0x6f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x90, 0x01, 0x0a, 0x0a, 0x4c,
  1803  	0x6f, 0x61, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x41, 0x0a, 0x0b, 0x63, 0x6c, 0x6f,
  1804  	0x73, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e,
  1805  	0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6c,
  1806  	0x6f, 0x73, 0x65, 0x64, 0x4c, 0x6f, 0x6f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x00,
  1807  	0x52, 0x0a, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x4c, 0x6f, 0x6f, 0x70, 0x12, 0x37, 0x0a, 0x07,
  1808  	0x70, 0x6f, 0x69, 0x73, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
  1809  	0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x6f, 0x69,
  1810  	0x73, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x00, 0x52, 0x07, 0x70, 0x6f,
  1811  	0x69, 0x73, 0x73, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x7f, 0x0a,
  1812  	0x0e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12,
  1813  	0x1e, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x18, 0x01,
  1814  	0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x75, 0x73, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x12,
  1815  	0x30, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6f,
  1816  	0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73,
  1817  	0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x6f, 0x73, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64,
  1818  	0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03,
  1819  	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x72, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x22, 0x67,
  1820  	0x0a, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04,
  1821  	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
  1822  	0x12, 0x1d, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
  1823  	0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x73, 0x74, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
  1824  	0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01,
  1825  	0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07,
  1826  	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xf6, 0x07, 0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65,
  1827  	0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76,
  1828  	0x65, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
  1829  	0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12,
  1830  	0x39, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02,
  1831  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74,
  1832  	0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a,
  1833  	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x73, 0x65,
  1834  	0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20,
  1835  	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69,
  1836  	0x6e, 0x67, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d,
  1837  	0x73, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d,
  1838  	0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67,
  1839  	0x5f, 0x72, 0x70, 0x63, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
  1840  	0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e,
  1841  	0x64, 0x69, 0x6e, 0x67, 0x52, 0x70, 0x63, 0x73, 0x50, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e,
  1842  	0x65, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61,
  1843  	0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x63, 0x6c, 0x69,
  1844  	0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x61,
  1845  	0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x65,
  1846  	0x61, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63,
  1847  	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x30, 0x0a,
  1848  	0x08, 0x72, 0x70, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32,
  1849  	0x15, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x52,
  1850  	0x70, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x72, 0x70, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12,
  1851  	0x39, 0x0a, 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0a,
  1852  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74,
  1853  	0x69, 0x6e, 0x67, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x0a,
  1854  	0x6c, 0x6f, 0x61, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x70, 0x61,
  1855  	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 0x20, 0x01,
  1856  	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e,
  1857  	0x67, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
  1858  	0x0d, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48,
  1859  	0x0a, 0x10, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61,
  1860  	0x6d, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e,
  1861  	0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61,
  1862  	0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x0f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72,
  1863  	0x61, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x72, 0x65,
  1864  	0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6f, 0x72,
  1865  	0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6c, 0x69,
  1866  	0x6d, 0x69, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, 0x72, 0x65, 0x4c,
  1867  	0x69, 0x6d, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x63, 0x6c,
  1868  	0x69, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
  1869  	0x6f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x69, 0x12, 0x3b,
  1870  	0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x10,
  1871  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74,
  1872  	0x69, 0x6e, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x72, 0x67, 0x52, 0x0b,
  1873  	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x72, 0x67, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x74,
  1874  	0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x71, 0x18, 0x11, 0x20,
  1875  	0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x50, 0x65, 0x72, 0x43,
  1876  	0x71, 0x12, 0x2e, 0x0a, 0x13, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x70, 0x65,
  1877  	0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11,
  1878  	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x50, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61,
  1879  	0x6d, 0x12, 0x28, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63,
  1880  	0x65, 0x5f, 0x61, 0x70, 0x69, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x75, 0x73, 0x65,
  1881  	0x43, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x41, 0x70, 0x69, 0x12, 0x58, 0x0a, 0x29, 0x6d,
  1882  	0x65, 0x64, 0x69, 0x61, 0x6e, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x63, 0x6f,
  1883  	0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61,
  1884  	0x6c, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x25,
  1885  	0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x6c,
  1886  	0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d,
  1887  	0x69, 0x6c, 0x6c, 0x69, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f,
  1888  	0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52,
  1889  	0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73,
  1890  	0x22, 0x3f, 0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
  1891  	0x12, 0x2f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1892  	0x19, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x43,
  1893  	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74,
  1894  	0x73, 0x22, 0x1c, 0x0a, 0x04, 0x4d, 0x61, 0x72, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x73,
  1895  	0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x72, 0x65, 0x73, 0x65, 0x74, 0x22,
  1896  	0x75, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x72, 0x67, 0x73, 0x12, 0x32, 0x0a,
  1897  	0x05, 0x73, 0x65, 0x74, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  1898  	0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6c, 0x69, 0x65,
  1899  	0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x05, 0x73, 0x65, 0x74, 0x75,
  1900  	0x70, 0x12, 0x28, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1901  	0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x4d,
  1902  	0x61, 0x72, 0x6b, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x61,
  1903  	0x72, 0x67, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc0, 0x04, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x65,
  1904  	0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65,
  1905  	0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x67,
  1906  	0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x65, 0x72, 0x76,
  1907  	0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x79,
  1908  	0x70, 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70,
  1909  	0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72,
  1910  	0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72,
  1911  	0x69, 0x74, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72,
  1912  	0x69, 0x74, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72,
  1913  	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x30, 0x0a,
  1914  	0x14, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x68,
  1915  	0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x61, 0x73, 0x79,
  1916  	0x6e, 0x63, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12,
  1917  	0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20,
  1918  	0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x42,
  1919  	0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
  1920  	0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65,
  1921  	0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e,
  1922  	0x66, 0x69, 0x67, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66,
  1923  	0x69, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
  1924  	0x0a, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12,
  1925  	0x28, 0x0a, 0x10, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f,
  1926  	0x61, 0x70, 0x69, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x74, 0x68, 0x65, 0x72,
  1927  	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x70, 0x69, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x68, 0x72,
  1928  	0x65, 0x61, 0x64, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x71, 0x18, 0x0c, 0x20, 0x01, 0x28,
  1929  	0x05, 0x52, 0x0c, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x50, 0x65, 0x72, 0x43, 0x71, 0x12,
  1930  	0x2f, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x71, 0x75, 0x6f, 0x74,
  1931  	0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x72,
  1932  	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x53, 0x69, 0x7a, 0x65,
  1933  	0x12, 0x3c, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x61, 0x72, 0x67, 0x73,
  1934  	0x18, 0xea, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74,
  1935  	0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x72,
  1936  	0x67, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x72, 0x67, 0x73, 0x12, 0x29,
  1937  	0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
  1938  	0x65, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
  1939  	0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x75, 0x0a, 0x0a, 0x53, 0x65, 0x72,
  1940  	0x76, 0x65, 0x72, 0x41, 0x72, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x75, 0x70,
  1941  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65,
  1942  	0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
  1943  	0x69, 0x67, 0x48, 0x00, 0x52, 0x05, 0x73, 0x65, 0x74, 0x75, 0x70, 0x12, 0x28, 0x0a, 0x04, 0x6d,
  1944  	0x61, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63,
  1945  	0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x48, 0x00, 0x52,
  1946  	0x04, 0x6d, 0x61, 0x72, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65,
  1947  	0x22, 0x69, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
  1948  	0x12, 0x2f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1949  	0x19, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x53,
  1950  	0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74,
  1951  	0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
  1952  	0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x03,
  1953  	0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x22, 0x0d, 0x0a, 0x0b, 0x43,
  1954  	0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x24, 0x0a, 0x0c, 0x43, 0x6f,
  1955  	0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f,
  1956  	0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x72, 0x65, 0x73,
  1957  	0x22, 0x06, 0x0a, 0x04, 0x56, 0x6f, 0x69, 0x64, 0x22, 0xef, 0x02, 0x0a, 0x08, 0x53, 0x63, 0x65,
  1958  	0x6e, 0x61, 0x72, 0x69, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
  1959  	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x6c, 0x69,
  1960  	0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  1961  	0x32, 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e,
  1962  	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x63, 0x6c,
  1963  	0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75,
  1964  	0x6d, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
  1965  	0x0a, 0x6e, 0x75, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x73,
  1966  	0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01,
  1967  	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e,
  1968  	0x67, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c,
  1969  	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b,
  1970  	0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
  1971  	0x05, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a,
  1972  	0x0e, 0x77, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18,
  1973  	0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x77, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x53, 0x65, 0x63,
  1974  	0x6f, 0x6e, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72,
  1975  	0x6b, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52,
  1976  	0x10, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64,
  1977  	0x73, 0x12, 0x37, 0x0a, 0x18, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
  1978  	0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20,
  1979  	0x01, 0x28, 0x05, 0x52, 0x15, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x57,
  1980  	0x6f, 0x72, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x41, 0x0a, 0x09, 0x53, 0x63,
  1981  	0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x73, 0x12, 0x34, 0x0a, 0x09, 0x73, 0x63, 0x65, 0x6e, 0x61,
  1982  	0x72, 0x69, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x70,
  1983  	0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72,
  1984  	0x69, 0x6f, 0x52, 0x09, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x73, 0x22, 0xad, 0x07,
  1985  	0x0a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
  1986  	0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x71, 0x70, 0x73, 0x18, 0x01,
  1987  	0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x71, 0x70, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x71, 0x70, 0x73,
  1988  	0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x72, 0x65,
  1989  	0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x71, 0x70, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65,
  1990  	0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76,
  1991  	0x65, 0x72, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03,
  1992  	0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74,
  1993  	0x65, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
  1994  	0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01,
  1995  	0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65,
  1996  	0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65,
  1997  	0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x63, 0x6c,
  1998  	0x69, 0x65, 0x6e, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28,
  1999  	0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x69,
  2000  	0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
  2001  	0x55, 0x73, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x74, 0x65,
  2002  	0x6e, 0x63, 0x79, 0x5f, 0x35, 0x30, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x61,
  2003  	0x74, 0x65, 0x6e, 0x63, 0x79, 0x35, 0x30, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x74, 0x65, 0x6e,
  2004  	0x63, 0x79, 0x5f, 0x39, 0x30, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x61, 0x74,
  2005  	0x65, 0x6e, 0x63, 0x79, 0x39, 0x30, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63,
  2006  	0x79, 0x5f, 0x39, 0x35, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x61, 0x74, 0x65,
  2007  	0x6e, 0x63, 0x79, 0x39, 0x35, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79,
  2008  	0x5f, 0x39, 0x39, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x61, 0x74, 0x65, 0x6e,
  2009  	0x63, 0x79, 0x39, 0x39, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f,
  2010  	0x39, 0x39, 0x39, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x6c, 0x61, 0x74, 0x65, 0x6e,
  2011  	0x63, 0x79, 0x39, 0x39, 0x39, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f,
  2012  	0x63, 0x70, 0x75, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52,
  2013  	0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x70, 0x75, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12,
  2014  	0x43, 0x0a, 0x1e, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65,
  2015  	0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e,
  2016  	0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x1b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
  2017  	0x66, 0x75, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65,
  2018  	0x63, 0x6f, 0x6e, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72,
  2019  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f,
  2020  	0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x17, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64,
  2021  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e,
  2022  	0x64, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x6c,
  2023  	0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0f, 0x20,
  2024  	0x01, 0x28, 0x01, 0x52, 0x15, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x6c, 0x73,
  2025  	0x50, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x73, 0x65,
  2026  	0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x6c, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x72,
  2027  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x15, 0x73, 0x65,
  2028  	0x72, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
  2029  	0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x1a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x71, 0x75,
  2030  	0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x73, 0x65,
  2031  	0x63, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x16, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x51,
  2032  	0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x50, 0x65, 0x72, 0x43, 0x70, 0x75, 0x53, 0x65, 0x63, 0x12,
  2033  	0x3a, 0x0a, 0x1a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65,
  2034  	0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x12, 0x20,
  2035  	0x01, 0x28, 0x01, 0x52, 0x16, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x69,
  2036  	0x65, 0x73, 0x50, 0x65, 0x72, 0x43, 0x70, 0x75, 0x53, 0x65, 0x63, 0x12, 0x39, 0x0a, 0x0a, 0x73,
  2037  	0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2038  	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  2039  	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61,
  2040  	0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69,
  2041  	0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2042  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
  2043  	0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xf6, 0x03,
  2044  	0x0a, 0x0e, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
  2045  	0x12, 0x32, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01,
  2046  	0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e,
  2047  	0x67, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x52, 0x08, 0x73, 0x63, 0x65, 0x6e,
  2048  	0x61, 0x72, 0x69, 0x6f, 0x12, 0x39, 0x0a, 0x09, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x69, 0x65,
  2049  	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74,
  2050  	0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d,
  2051  	0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12,
  2052  	0x3c, 0x0a, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18,
  2053  	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73,
  2054  	0x74, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73,
  2055  	0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3c, 0x0a,
  2056  	0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20,
  2057  	0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69,
  2058  	0x6e, 0x67, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0b,
  2059  	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73,
  2060  	0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
  2061  	0x05, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x3d,
  2062  	0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2063  	0x23, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x53,
  2064  	0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x75, 0x6d,
  2065  	0x6d, 0x61, 0x72, 0x79, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x25, 0x0a,
  2066  	0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18,
  2067  	0x07, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x63,
  2068  	0x63, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73,
  2069  	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x65,
  2070  	0x72, 0x76, 0x65, 0x72, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x0f, 0x72,
  2071  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x09,
  2072  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x74, 0x65, 0x73, 0x74,
  2073  	0x69, 0x6e, 0x67, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c,
  2074  	0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52,
  2075  	0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2a, 0x56, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
  2076  	0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x43, 0x4c, 0x49,
  2077  	0x45, 0x4e, 0x54, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x43,
  2078  	0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x54, 0x48, 0x45, 0x52,
  2079  	0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x41, 0x4c,
  2080  	0x4c, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x2a, 0x70,
  2081  	0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b,
  2082  	0x53, 0x59, 0x4e, 0x43, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x00, 0x12, 0x10, 0x0a,
  2083  	0x0c, 0x41, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x01, 0x12,
  2084  	0x18, 0x0a, 0x14, 0x41, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43,
  2085  	0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x54, 0x48,
  2086  	0x45, 0x52, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x43,
  2087  	0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x04,
  2088  	0x2a, 0x72, 0x0a, 0x07, 0x52, 0x70, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x55,
  2089  	0x4e, 0x41, 0x52, 0x59, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d,
  2090  	0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49,
  2091  	0x4e, 0x47, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x02,
  2092  	0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x52,
  2093  	0x4f, 0x4d, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x53,
  2094  	0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x42, 0x4f, 0x54, 0x48, 0x5f, 0x57, 0x41,
  2095  	0x59, 0x53, 0x10, 0x04, 0x42, 0x21, 0x0a, 0x0f, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e,
  2096  	0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
  2097  	0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  2098  })
  2099  
  2100  var (
  2101  	file_grpc_testing_control_proto_rawDescOnce sync.Once
  2102  	file_grpc_testing_control_proto_rawDescData []byte
  2103  )
  2104  
  2105  func file_grpc_testing_control_proto_rawDescGZIP() []byte {
  2106  	file_grpc_testing_control_proto_rawDescOnce.Do(func() {
  2107  		file_grpc_testing_control_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_grpc_testing_control_proto_rawDesc), len(file_grpc_testing_control_proto_rawDesc)))
  2108  	})
  2109  	return file_grpc_testing_control_proto_rawDescData
  2110  }
  2111  
  2112  var file_grpc_testing_control_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
  2113  var file_grpc_testing_control_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
  2114  var file_grpc_testing_control_proto_goTypes = []any{
  2115  	(ClientType)(0),               // 0: grpc.testing.ClientType
  2116  	(ServerType)(0),               // 1: grpc.testing.ServerType
  2117  	(RpcType)(0),                  // 2: grpc.testing.RpcType
  2118  	(*PoissonParams)(nil),         // 3: grpc.testing.PoissonParams
  2119  	(*ClosedLoopParams)(nil),      // 4: grpc.testing.ClosedLoopParams
  2120  	(*LoadParams)(nil),            // 5: grpc.testing.LoadParams
  2121  	(*SecurityParams)(nil),        // 6: grpc.testing.SecurityParams
  2122  	(*ChannelArg)(nil),            // 7: grpc.testing.ChannelArg
  2123  	(*ClientConfig)(nil),          // 8: grpc.testing.ClientConfig
  2124  	(*ClientStatus)(nil),          // 9: grpc.testing.ClientStatus
  2125  	(*Mark)(nil),                  // 10: grpc.testing.Mark
  2126  	(*ClientArgs)(nil),            // 11: grpc.testing.ClientArgs
  2127  	(*ServerConfig)(nil),          // 12: grpc.testing.ServerConfig
  2128  	(*ServerArgs)(nil),            // 13: grpc.testing.ServerArgs
  2129  	(*ServerStatus)(nil),          // 14: grpc.testing.ServerStatus
  2130  	(*CoreRequest)(nil),           // 15: grpc.testing.CoreRequest
  2131  	(*CoreResponse)(nil),          // 16: grpc.testing.CoreResponse
  2132  	(*Void)(nil),                  // 17: grpc.testing.Void
  2133  	(*Scenario)(nil),              // 18: grpc.testing.Scenario
  2134  	(*Scenarios)(nil),             // 19: grpc.testing.Scenarios
  2135  	(*ScenarioResultSummary)(nil), // 20: grpc.testing.ScenarioResultSummary
  2136  	(*ScenarioResult)(nil),        // 21: grpc.testing.ScenarioResult
  2137  	(*PayloadConfig)(nil),         // 22: grpc.testing.PayloadConfig
  2138  	(*HistogramParams)(nil),       // 23: grpc.testing.HistogramParams
  2139  	(*ClientStats)(nil),           // 24: grpc.testing.ClientStats
  2140  	(*ServerStats)(nil),           // 25: grpc.testing.ServerStats
  2141  	(*timestamppb.Timestamp)(nil), // 26: google.protobuf.Timestamp
  2142  	(*HistogramData)(nil),         // 27: grpc.testing.HistogramData
  2143  	(*RequestResultCount)(nil),    // 28: grpc.testing.RequestResultCount
  2144  }
  2145  var file_grpc_testing_control_proto_depIdxs = []int32{
  2146  	4,  // 0: grpc.testing.LoadParams.closed_loop:type_name -> grpc.testing.ClosedLoopParams
  2147  	3,  // 1: grpc.testing.LoadParams.poisson:type_name -> grpc.testing.PoissonParams
  2148  	0,  // 2: grpc.testing.ClientConfig.client_type:type_name -> grpc.testing.ClientType
  2149  	6,  // 3: grpc.testing.ClientConfig.security_params:type_name -> grpc.testing.SecurityParams
  2150  	2,  // 4: grpc.testing.ClientConfig.rpc_type:type_name -> grpc.testing.RpcType
  2151  	5,  // 5: grpc.testing.ClientConfig.load_params:type_name -> grpc.testing.LoadParams
  2152  	22, // 6: grpc.testing.ClientConfig.payload_config:type_name -> grpc.testing.PayloadConfig
  2153  	23, // 7: grpc.testing.ClientConfig.histogram_params:type_name -> grpc.testing.HistogramParams
  2154  	7,  // 8: grpc.testing.ClientConfig.channel_args:type_name -> grpc.testing.ChannelArg
  2155  	24, // 9: grpc.testing.ClientStatus.stats:type_name -> grpc.testing.ClientStats
  2156  	8,  // 10: grpc.testing.ClientArgs.setup:type_name -> grpc.testing.ClientConfig
  2157  	10, // 11: grpc.testing.ClientArgs.mark:type_name -> grpc.testing.Mark
  2158  	1,  // 12: grpc.testing.ServerConfig.server_type:type_name -> grpc.testing.ServerType
  2159  	6,  // 13: grpc.testing.ServerConfig.security_params:type_name -> grpc.testing.SecurityParams
  2160  	22, // 14: grpc.testing.ServerConfig.payload_config:type_name -> grpc.testing.PayloadConfig
  2161  	7,  // 15: grpc.testing.ServerConfig.channel_args:type_name -> grpc.testing.ChannelArg
  2162  	12, // 16: grpc.testing.ServerArgs.setup:type_name -> grpc.testing.ServerConfig
  2163  	10, // 17: grpc.testing.ServerArgs.mark:type_name -> grpc.testing.Mark
  2164  	25, // 18: grpc.testing.ServerStatus.stats:type_name -> grpc.testing.ServerStats
  2165  	8,  // 19: grpc.testing.Scenario.client_config:type_name -> grpc.testing.ClientConfig
  2166  	12, // 20: grpc.testing.Scenario.server_config:type_name -> grpc.testing.ServerConfig
  2167  	18, // 21: grpc.testing.Scenarios.scenarios:type_name -> grpc.testing.Scenario
  2168  	26, // 22: grpc.testing.ScenarioResultSummary.start_time:type_name -> google.protobuf.Timestamp
  2169  	26, // 23: grpc.testing.ScenarioResultSummary.end_time:type_name -> google.protobuf.Timestamp
  2170  	18, // 24: grpc.testing.ScenarioResult.scenario:type_name -> grpc.testing.Scenario
  2171  	27, // 25: grpc.testing.ScenarioResult.latencies:type_name -> grpc.testing.HistogramData
  2172  	24, // 26: grpc.testing.ScenarioResult.client_stats:type_name -> grpc.testing.ClientStats
  2173  	25, // 27: grpc.testing.ScenarioResult.server_stats:type_name -> grpc.testing.ServerStats
  2174  	20, // 28: grpc.testing.ScenarioResult.summary:type_name -> grpc.testing.ScenarioResultSummary
  2175  	28, // 29: grpc.testing.ScenarioResult.request_results:type_name -> grpc.testing.RequestResultCount
  2176  	30, // [30:30] is the sub-list for method output_type
  2177  	30, // [30:30] is the sub-list for method input_type
  2178  	30, // [30:30] is the sub-list for extension type_name
  2179  	30, // [30:30] is the sub-list for extension extendee
  2180  	0,  // [0:30] is the sub-list for field type_name
  2181  }
  2182  
  2183  func init() { file_grpc_testing_control_proto_init() }
  2184  func file_grpc_testing_control_proto_init() {
  2185  	if File_grpc_testing_control_proto != nil {
  2186  		return
  2187  	}
  2188  	file_grpc_testing_payloads_proto_init()
  2189  	file_grpc_testing_stats_proto_init()
  2190  	file_grpc_testing_control_proto_msgTypes[2].OneofWrappers = []any{
  2191  		(*LoadParams_ClosedLoop)(nil),
  2192  		(*LoadParams_Poisson)(nil),
  2193  	}
  2194  	file_grpc_testing_control_proto_msgTypes[4].OneofWrappers = []any{
  2195  		(*ChannelArg_StrValue)(nil),
  2196  		(*ChannelArg_IntValue)(nil),
  2197  	}
  2198  	file_grpc_testing_control_proto_msgTypes[8].OneofWrappers = []any{
  2199  		(*ClientArgs_Setup)(nil),
  2200  		(*ClientArgs_Mark)(nil),
  2201  	}
  2202  	file_grpc_testing_control_proto_msgTypes[10].OneofWrappers = []any{
  2203  		(*ServerArgs_Setup)(nil),
  2204  		(*ServerArgs_Mark)(nil),
  2205  	}
  2206  	type x struct{}
  2207  	out := protoimpl.TypeBuilder{
  2208  		File: protoimpl.DescBuilder{
  2209  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  2210  			RawDescriptor: unsafe.Slice(unsafe.StringData(file_grpc_testing_control_proto_rawDesc), len(file_grpc_testing_control_proto_rawDesc)),
  2211  			NumEnums:      3,
  2212  			NumMessages:   19,
  2213  			NumExtensions: 0,
  2214  			NumServices:   0,
  2215  		},
  2216  		GoTypes:           file_grpc_testing_control_proto_goTypes,
  2217  		DependencyIndexes: file_grpc_testing_control_proto_depIdxs,
  2218  		EnumInfos:         file_grpc_testing_control_proto_enumTypes,
  2219  		MessageInfos:      file_grpc_testing_control_proto_msgTypes,
  2220  	}.Build()
  2221  	File_grpc_testing_control_proto = out.File
  2222  	file_grpc_testing_control_proto_goTypes = nil
  2223  	file_grpc_testing_control_proto_depIdxs = nil
  2224  }