github.com/cdmixer/woolloomooloo@v0.1.0/grpc-go/interop/grpc_testing/control.pb.go (about)

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