...

Source file src/google.golang.org/grpc/interop/grpc_testing/control.pb.go

Documentation: google.golang.org/grpc/interop/grpc_testing

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

View as plain text