google.golang.org/grpc@v1.74.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.6
    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  const file_grpc_testing_control_proto_rawDesc = "" +
  1790  	"\n" +
  1791  	"\x1agrpc/testing/control.proto\x12\fgrpc.testing\x1a\x1bgrpc/testing/payloads.proto\x1a\x18grpc/testing/stats.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"2\n" +
  1792  	"\rPoissonParams\x12!\n" +
  1793  	"\foffered_load\x18\x01 \x01(\x01R\vofferedLoad\"\x12\n" +
  1794  	"\x10ClosedLoopParams\"\x90\x01\n" +
  1795  	"\n" +
  1796  	"LoadParams\x12A\n" +
  1797  	"\vclosed_loop\x18\x01 \x01(\v2\x1e.grpc.testing.ClosedLoopParamsH\x00R\n" +
  1798  	"closedLoop\x127\n" +
  1799  	"\apoisson\x18\x02 \x01(\v2\x1b.grpc.testing.PoissonParamsH\x00R\apoissonB\x06\n" +
  1800  	"\x04load\"\x7f\n" +
  1801  	"\x0eSecurityParams\x12\x1e\n" +
  1802  	"\vuse_test_ca\x18\x01 \x01(\bR\tuseTestCa\x120\n" +
  1803  	"\x14server_host_override\x18\x02 \x01(\tR\x12serverHostOverride\x12\x1b\n" +
  1804  	"\tcred_type\x18\x03 \x01(\tR\bcredType\"g\n" +
  1805  	"\n" +
  1806  	"ChannelArg\x12\x12\n" +
  1807  	"\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n" +
  1808  	"\tstr_value\x18\x02 \x01(\tH\x00R\bstrValue\x12\x1d\n" +
  1809  	"\tint_value\x18\x03 \x01(\x05H\x00R\bintValueB\a\n" +
  1810  	"\x05value\"\xf6\a\n" +
  1811  	"\fClientConfig\x12%\n" +
  1812  	"\x0eserver_targets\x18\x01 \x03(\tR\rserverTargets\x129\n" +
  1813  	"\vclient_type\x18\x02 \x01(\x0e2\x18.grpc.testing.ClientTypeR\n" +
  1814  	"clientType\x12E\n" +
  1815  	"\x0fsecurity_params\x18\x03 \x01(\v2\x1c.grpc.testing.SecurityParamsR\x0esecurityParams\x12?\n" +
  1816  	"\x1coutstanding_rpcs_per_channel\x18\x04 \x01(\x05R\x19outstandingRpcsPerChannel\x12'\n" +
  1817  	"\x0fclient_channels\x18\x05 \x01(\x05R\x0eclientChannels\x120\n" +
  1818  	"\x14async_client_threads\x18\a \x01(\x05R\x12asyncClientThreads\x120\n" +
  1819  	"\brpc_type\x18\b \x01(\x0e2\x15.grpc.testing.RpcTypeR\arpcType\x129\n" +
  1820  	"\vload_params\x18\n" +
  1821  	" \x01(\v2\x18.grpc.testing.LoadParamsR\n" +
  1822  	"loadParams\x12B\n" +
  1823  	"\x0epayload_config\x18\v \x01(\v2\x1b.grpc.testing.PayloadConfigR\rpayloadConfig\x12H\n" +
  1824  	"\x10histogram_params\x18\f \x01(\v2\x1d.grpc.testing.HistogramParamsR\x0fhistogramParams\x12\x1b\n" +
  1825  	"\tcore_list\x18\r \x03(\x05R\bcoreList\x12\x1d\n" +
  1826  	"\n" +
  1827  	"core_limit\x18\x0e \x01(\x05R\tcoreLimit\x12(\n" +
  1828  	"\x10other_client_api\x18\x0f \x01(\tR\x0eotherClientApi\x12;\n" +
  1829  	"\fchannel_args\x18\x10 \x03(\v2\x18.grpc.testing.ChannelArgR\vchannelArgs\x12$\n" +
  1830  	"\x0ethreads_per_cq\x18\x11 \x01(\x05R\fthreadsPerCq\x12.\n" +
  1831  	"\x13messages_per_stream\x18\x12 \x01(\x05R\x11messagesPerStream\x12(\n" +
  1832  	"\x10use_coalesce_api\x18\x13 \x01(\bR\x0euseCoalesceApi\x12X\n" +
  1833  	")median_latency_collection_interval_millis\x18\x14 \x01(\x05R%medianLatencyCollectionIntervalMillis\x12)\n" +
  1834  	"\x10client_processes\x18\x15 \x01(\x05R\x0fclientProcesses\"?\n" +
  1835  	"\fClientStatus\x12/\n" +
  1836  	"\x05stats\x18\x01 \x01(\v2\x19.grpc.testing.ClientStatsR\x05stats\"\x1c\n" +
  1837  	"\x04Mark\x12\x14\n" +
  1838  	"\x05reset\x18\x01 \x01(\bR\x05reset\"u\n" +
  1839  	"\n" +
  1840  	"ClientArgs\x122\n" +
  1841  	"\x05setup\x18\x01 \x01(\v2\x1a.grpc.testing.ClientConfigH\x00R\x05setup\x12(\n" +
  1842  	"\x04mark\x18\x02 \x01(\v2\x12.grpc.testing.MarkH\x00R\x04markB\t\n" +
  1843  	"\aargtype\"\xc0\x04\n" +
  1844  	"\fServerConfig\x129\n" +
  1845  	"\vserver_type\x18\x01 \x01(\x0e2\x18.grpc.testing.ServerTypeR\n" +
  1846  	"serverType\x12E\n" +
  1847  	"\x0fsecurity_params\x18\x02 \x01(\v2\x1c.grpc.testing.SecurityParamsR\x0esecurityParams\x12\x12\n" +
  1848  	"\x04port\x18\x04 \x01(\x05R\x04port\x120\n" +
  1849  	"\x14async_server_threads\x18\a \x01(\x05R\x12asyncServerThreads\x12\x1d\n" +
  1850  	"\n" +
  1851  	"core_limit\x18\b \x01(\x05R\tcoreLimit\x12B\n" +
  1852  	"\x0epayload_config\x18\t \x01(\v2\x1b.grpc.testing.PayloadConfigR\rpayloadConfig\x12\x1b\n" +
  1853  	"\tcore_list\x18\n" +
  1854  	" \x03(\x05R\bcoreList\x12(\n" +
  1855  	"\x10other_server_api\x18\v \x01(\tR\x0eotherServerApi\x12$\n" +
  1856  	"\x0ethreads_per_cq\x18\f \x01(\x05R\fthreadsPerCq\x12/\n" +
  1857  	"\x13resource_quota_size\x18\xe9\a \x01(\x05R\x11resourceQuotaSize\x12<\n" +
  1858  	"\fchannel_args\x18\xea\a \x03(\v2\x18.grpc.testing.ChannelArgR\vchannelArgs\x12)\n" +
  1859  	"\x10server_processes\x18\x15 \x01(\x05R\x0fserverProcesses\"u\n" +
  1860  	"\n" +
  1861  	"ServerArgs\x122\n" +
  1862  	"\x05setup\x18\x01 \x01(\v2\x1a.grpc.testing.ServerConfigH\x00R\x05setup\x12(\n" +
  1863  	"\x04mark\x18\x02 \x01(\v2\x12.grpc.testing.MarkH\x00R\x04markB\t\n" +
  1864  	"\aargtype\"i\n" +
  1865  	"\fServerStatus\x12/\n" +
  1866  	"\x05stats\x18\x01 \x01(\v2\x19.grpc.testing.ServerStatsR\x05stats\x12\x12\n" +
  1867  	"\x04port\x18\x02 \x01(\x05R\x04port\x12\x14\n" +
  1868  	"\x05cores\x18\x03 \x01(\x05R\x05cores\"\r\n" +
  1869  	"\vCoreRequest\"$\n" +
  1870  	"\fCoreResponse\x12\x14\n" +
  1871  	"\x05cores\x18\x01 \x01(\x05R\x05cores\"\x06\n" +
  1872  	"\x04Void\"\xef\x02\n" +
  1873  	"\bScenario\x12\x12\n" +
  1874  	"\x04name\x18\x01 \x01(\tR\x04name\x12?\n" +
  1875  	"\rclient_config\x18\x02 \x01(\v2\x1a.grpc.testing.ClientConfigR\fclientConfig\x12\x1f\n" +
  1876  	"\vnum_clients\x18\x03 \x01(\x05R\n" +
  1877  	"numClients\x12?\n" +
  1878  	"\rserver_config\x18\x04 \x01(\v2\x1a.grpc.testing.ServerConfigR\fserverConfig\x12\x1f\n" +
  1879  	"\vnum_servers\x18\x05 \x01(\x05R\n" +
  1880  	"numServers\x12%\n" +
  1881  	"\x0ewarmup_seconds\x18\x06 \x01(\x05R\rwarmupSeconds\x12+\n" +
  1882  	"\x11benchmark_seconds\x18\a \x01(\x05R\x10benchmarkSeconds\x127\n" +
  1883  	"\x18spawn_local_worker_count\x18\b \x01(\x05R\x15spawnLocalWorkerCount\"A\n" +
  1884  	"\tScenarios\x124\n" +
  1885  	"\tscenarios\x18\x01 \x03(\v2\x16.grpc.testing.ScenarioR\tscenarios\"\xad\a\n" +
  1886  	"\x15ScenarioResultSummary\x12\x10\n" +
  1887  	"\x03qps\x18\x01 \x01(\x01R\x03qps\x12-\n" +
  1888  	"\x13qps_per_server_core\x18\x02 \x01(\x01R\x10qpsPerServerCore\x12,\n" +
  1889  	"\x12server_system_time\x18\x03 \x01(\x01R\x10serverSystemTime\x12(\n" +
  1890  	"\x10server_user_time\x18\x04 \x01(\x01R\x0eserverUserTime\x12,\n" +
  1891  	"\x12client_system_time\x18\x05 \x01(\x01R\x10clientSystemTime\x12(\n" +
  1892  	"\x10client_user_time\x18\x06 \x01(\x01R\x0eclientUserTime\x12\x1d\n" +
  1893  	"\n" +
  1894  	"latency_50\x18\a \x01(\x01R\tlatency50\x12\x1d\n" +
  1895  	"\n" +
  1896  	"latency_90\x18\b \x01(\x01R\tlatency90\x12\x1d\n" +
  1897  	"\n" +
  1898  	"latency_95\x18\t \x01(\x01R\tlatency95\x12\x1d\n" +
  1899  	"\n" +
  1900  	"latency_99\x18\n" +
  1901  	" \x01(\x01R\tlatency99\x12\x1f\n" +
  1902  	"\vlatency_999\x18\v \x01(\x01R\n" +
  1903  	"latency999\x12(\n" +
  1904  	"\x10server_cpu_usage\x18\f \x01(\x01R\x0eserverCpuUsage\x12C\n" +
  1905  	"\x1esuccessful_requests_per_second\x18\r \x01(\x01R\x1bsuccessfulRequestsPerSecond\x12;\n" +
  1906  	"\x1afailed_requests_per_second\x18\x0e \x01(\x01R\x17failedRequestsPerSecond\x127\n" +
  1907  	"\x18client_polls_per_request\x18\x0f \x01(\x01R\x15clientPollsPerRequest\x127\n" +
  1908  	"\x18server_polls_per_request\x18\x10 \x01(\x01R\x15serverPollsPerRequest\x12:\n" +
  1909  	"\x1aserver_queries_per_cpu_sec\x18\x11 \x01(\x01R\x16serverQueriesPerCpuSec\x12:\n" +
  1910  	"\x1aclient_queries_per_cpu_sec\x18\x12 \x01(\x01R\x16clientQueriesPerCpuSec\x129\n" +
  1911  	"\n" +
  1912  	"start_time\x18\x13 \x01(\v2\x1a.google.protobuf.TimestampR\tstartTime\x125\n" +
  1913  	"\bend_time\x18\x14 \x01(\v2\x1a.google.protobuf.TimestampR\aendTime\"\xf6\x03\n" +
  1914  	"\x0eScenarioResult\x122\n" +
  1915  	"\bscenario\x18\x01 \x01(\v2\x16.grpc.testing.ScenarioR\bscenario\x129\n" +
  1916  	"\tlatencies\x18\x02 \x01(\v2\x1b.grpc.testing.HistogramDataR\tlatencies\x12<\n" +
  1917  	"\fclient_stats\x18\x03 \x03(\v2\x19.grpc.testing.ClientStatsR\vclientStats\x12<\n" +
  1918  	"\fserver_stats\x18\x04 \x03(\v2\x19.grpc.testing.ServerStatsR\vserverStats\x12!\n" +
  1919  	"\fserver_cores\x18\x05 \x03(\x05R\vserverCores\x12=\n" +
  1920  	"\asummary\x18\x06 \x01(\v2#.grpc.testing.ScenarioResultSummaryR\asummary\x12%\n" +
  1921  	"\x0eclient_success\x18\a \x03(\bR\rclientSuccess\x12%\n" +
  1922  	"\x0eserver_success\x18\b \x03(\bR\rserverSuccess\x12I\n" +
  1923  	"\x0frequest_results\x18\t \x03(\v2 .grpc.testing.RequestResultCountR\x0erequestResults*V\n" +
  1924  	"\n" +
  1925  	"ClientType\x12\x0f\n" +
  1926  	"\vSYNC_CLIENT\x10\x00\x12\x10\n" +
  1927  	"\fASYNC_CLIENT\x10\x01\x12\x10\n" +
  1928  	"\fOTHER_CLIENT\x10\x02\x12\x13\n" +
  1929  	"\x0fCALLBACK_CLIENT\x10\x03*p\n" +
  1930  	"\n" +
  1931  	"ServerType\x12\x0f\n" +
  1932  	"\vSYNC_SERVER\x10\x00\x12\x10\n" +
  1933  	"\fASYNC_SERVER\x10\x01\x12\x18\n" +
  1934  	"\x14ASYNC_GENERIC_SERVER\x10\x02\x12\x10\n" +
  1935  	"\fOTHER_SERVER\x10\x03\x12\x13\n" +
  1936  	"\x0fCALLBACK_SERVER\x10\x04*r\n" +
  1937  	"\aRpcType\x12\t\n" +
  1938  	"\x05UNARY\x10\x00\x12\r\n" +
  1939  	"\tSTREAMING\x10\x01\x12\x19\n" +
  1940  	"\x15STREAMING_FROM_CLIENT\x10\x02\x12\x19\n" +
  1941  	"\x15STREAMING_FROM_SERVER\x10\x03\x12\x17\n" +
  1942  	"\x13STREAMING_BOTH_WAYS\x10\x04B!\n" +
  1943  	"\x0fio.grpc.testingB\fControlProtoP\x01b\x06proto3"
  1944  
  1945  var (
  1946  	file_grpc_testing_control_proto_rawDescOnce sync.Once
  1947  	file_grpc_testing_control_proto_rawDescData []byte
  1948  )
  1949  
  1950  func file_grpc_testing_control_proto_rawDescGZIP() []byte {
  1951  	file_grpc_testing_control_proto_rawDescOnce.Do(func() {
  1952  		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)))
  1953  	})
  1954  	return file_grpc_testing_control_proto_rawDescData
  1955  }
  1956  
  1957  var file_grpc_testing_control_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
  1958  var file_grpc_testing_control_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
  1959  var file_grpc_testing_control_proto_goTypes = []any{
  1960  	(ClientType)(0),               // 0: grpc.testing.ClientType
  1961  	(ServerType)(0),               // 1: grpc.testing.ServerType
  1962  	(RpcType)(0),                  // 2: grpc.testing.RpcType
  1963  	(*PoissonParams)(nil),         // 3: grpc.testing.PoissonParams
  1964  	(*ClosedLoopParams)(nil),      // 4: grpc.testing.ClosedLoopParams
  1965  	(*LoadParams)(nil),            // 5: grpc.testing.LoadParams
  1966  	(*SecurityParams)(nil),        // 6: grpc.testing.SecurityParams
  1967  	(*ChannelArg)(nil),            // 7: grpc.testing.ChannelArg
  1968  	(*ClientConfig)(nil),          // 8: grpc.testing.ClientConfig
  1969  	(*ClientStatus)(nil),          // 9: grpc.testing.ClientStatus
  1970  	(*Mark)(nil),                  // 10: grpc.testing.Mark
  1971  	(*ClientArgs)(nil),            // 11: grpc.testing.ClientArgs
  1972  	(*ServerConfig)(nil),          // 12: grpc.testing.ServerConfig
  1973  	(*ServerArgs)(nil),            // 13: grpc.testing.ServerArgs
  1974  	(*ServerStatus)(nil),          // 14: grpc.testing.ServerStatus
  1975  	(*CoreRequest)(nil),           // 15: grpc.testing.CoreRequest
  1976  	(*CoreResponse)(nil),          // 16: grpc.testing.CoreResponse
  1977  	(*Void)(nil),                  // 17: grpc.testing.Void
  1978  	(*Scenario)(nil),              // 18: grpc.testing.Scenario
  1979  	(*Scenarios)(nil),             // 19: grpc.testing.Scenarios
  1980  	(*ScenarioResultSummary)(nil), // 20: grpc.testing.ScenarioResultSummary
  1981  	(*ScenarioResult)(nil),        // 21: grpc.testing.ScenarioResult
  1982  	(*PayloadConfig)(nil),         // 22: grpc.testing.PayloadConfig
  1983  	(*HistogramParams)(nil),       // 23: grpc.testing.HistogramParams
  1984  	(*ClientStats)(nil),           // 24: grpc.testing.ClientStats
  1985  	(*ServerStats)(nil),           // 25: grpc.testing.ServerStats
  1986  	(*timestamppb.Timestamp)(nil), // 26: google.protobuf.Timestamp
  1987  	(*HistogramData)(nil),         // 27: grpc.testing.HistogramData
  1988  	(*RequestResultCount)(nil),    // 28: grpc.testing.RequestResultCount
  1989  }
  1990  var file_grpc_testing_control_proto_depIdxs = []int32{
  1991  	4,  // 0: grpc.testing.LoadParams.closed_loop:type_name -> grpc.testing.ClosedLoopParams
  1992  	3,  // 1: grpc.testing.LoadParams.poisson:type_name -> grpc.testing.PoissonParams
  1993  	0,  // 2: grpc.testing.ClientConfig.client_type:type_name -> grpc.testing.ClientType
  1994  	6,  // 3: grpc.testing.ClientConfig.security_params:type_name -> grpc.testing.SecurityParams
  1995  	2,  // 4: grpc.testing.ClientConfig.rpc_type:type_name -> grpc.testing.RpcType
  1996  	5,  // 5: grpc.testing.ClientConfig.load_params:type_name -> grpc.testing.LoadParams
  1997  	22, // 6: grpc.testing.ClientConfig.payload_config:type_name -> grpc.testing.PayloadConfig
  1998  	23, // 7: grpc.testing.ClientConfig.histogram_params:type_name -> grpc.testing.HistogramParams
  1999  	7,  // 8: grpc.testing.ClientConfig.channel_args:type_name -> grpc.testing.ChannelArg
  2000  	24, // 9: grpc.testing.ClientStatus.stats:type_name -> grpc.testing.ClientStats
  2001  	8,  // 10: grpc.testing.ClientArgs.setup:type_name -> grpc.testing.ClientConfig
  2002  	10, // 11: grpc.testing.ClientArgs.mark:type_name -> grpc.testing.Mark
  2003  	1,  // 12: grpc.testing.ServerConfig.server_type:type_name -> grpc.testing.ServerType
  2004  	6,  // 13: grpc.testing.ServerConfig.security_params:type_name -> grpc.testing.SecurityParams
  2005  	22, // 14: grpc.testing.ServerConfig.payload_config:type_name -> grpc.testing.PayloadConfig
  2006  	7,  // 15: grpc.testing.ServerConfig.channel_args:type_name -> grpc.testing.ChannelArg
  2007  	12, // 16: grpc.testing.ServerArgs.setup:type_name -> grpc.testing.ServerConfig
  2008  	10, // 17: grpc.testing.ServerArgs.mark:type_name -> grpc.testing.Mark
  2009  	25, // 18: grpc.testing.ServerStatus.stats:type_name -> grpc.testing.ServerStats
  2010  	8,  // 19: grpc.testing.Scenario.client_config:type_name -> grpc.testing.ClientConfig
  2011  	12, // 20: grpc.testing.Scenario.server_config:type_name -> grpc.testing.ServerConfig
  2012  	18, // 21: grpc.testing.Scenarios.scenarios:type_name -> grpc.testing.Scenario
  2013  	26, // 22: grpc.testing.ScenarioResultSummary.start_time:type_name -> google.protobuf.Timestamp
  2014  	26, // 23: grpc.testing.ScenarioResultSummary.end_time:type_name -> google.protobuf.Timestamp
  2015  	18, // 24: grpc.testing.ScenarioResult.scenario:type_name -> grpc.testing.Scenario
  2016  	27, // 25: grpc.testing.ScenarioResult.latencies:type_name -> grpc.testing.HistogramData
  2017  	24, // 26: grpc.testing.ScenarioResult.client_stats:type_name -> grpc.testing.ClientStats
  2018  	25, // 27: grpc.testing.ScenarioResult.server_stats:type_name -> grpc.testing.ServerStats
  2019  	20, // 28: grpc.testing.ScenarioResult.summary:type_name -> grpc.testing.ScenarioResultSummary
  2020  	28, // 29: grpc.testing.ScenarioResult.request_results:type_name -> grpc.testing.RequestResultCount
  2021  	30, // [30:30] is the sub-list for method output_type
  2022  	30, // [30:30] is the sub-list for method input_type
  2023  	30, // [30:30] is the sub-list for extension type_name
  2024  	30, // [30:30] is the sub-list for extension extendee
  2025  	0,  // [0:30] is the sub-list for field type_name
  2026  }
  2027  
  2028  func init() { file_grpc_testing_control_proto_init() }
  2029  func file_grpc_testing_control_proto_init() {
  2030  	if File_grpc_testing_control_proto != nil {
  2031  		return
  2032  	}
  2033  	file_grpc_testing_payloads_proto_init()
  2034  	file_grpc_testing_stats_proto_init()
  2035  	file_grpc_testing_control_proto_msgTypes[2].OneofWrappers = []any{
  2036  		(*LoadParams_ClosedLoop)(nil),
  2037  		(*LoadParams_Poisson)(nil),
  2038  	}
  2039  	file_grpc_testing_control_proto_msgTypes[4].OneofWrappers = []any{
  2040  		(*ChannelArg_StrValue)(nil),
  2041  		(*ChannelArg_IntValue)(nil),
  2042  	}
  2043  	file_grpc_testing_control_proto_msgTypes[8].OneofWrappers = []any{
  2044  		(*ClientArgs_Setup)(nil),
  2045  		(*ClientArgs_Mark)(nil),
  2046  	}
  2047  	file_grpc_testing_control_proto_msgTypes[10].OneofWrappers = []any{
  2048  		(*ServerArgs_Setup)(nil),
  2049  		(*ServerArgs_Mark)(nil),
  2050  	}
  2051  	type x struct{}
  2052  	out := protoimpl.TypeBuilder{
  2053  		File: protoimpl.DescBuilder{
  2054  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  2055  			RawDescriptor: unsafe.Slice(unsafe.StringData(file_grpc_testing_control_proto_rawDesc), len(file_grpc_testing_control_proto_rawDesc)),
  2056  			NumEnums:      3,
  2057  			NumMessages:   19,
  2058  			NumExtensions: 0,
  2059  			NumServices:   0,
  2060  		},
  2061  		GoTypes:           file_grpc_testing_control_proto_goTypes,
  2062  		DependencyIndexes: file_grpc_testing_control_proto_depIdxs,
  2063  		EnumInfos:         file_grpc_testing_control_proto_enumTypes,
  2064  		MessageInfos:      file_grpc_testing_control_proto_msgTypes,
  2065  	}.Build()
  2066  	File_grpc_testing_control_proto = out.File
  2067  	file_grpc_testing_control_proto_goTypes = nil
  2068  	file_grpc_testing_control_proto_depIdxs = nil
  2069  }