1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: control.proto
3
4package grpc_testing
5
6import proto "github.com/golang/protobuf/proto"
7import fmt "fmt"
8import math "math"
9
10// Reference imports to suppress errors if they are not otherwise used.
11var _ = proto.Marshal
12var _ = fmt.Errorf
13var _ = math.Inf
14
15// This is a compile-time assertion to ensure that this generated file
16// is compatible with the proto package it is being compiled against.
17// A compilation error at this line likely means your copy of the
18// proto package needs to be updated.
19const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
20
21type ClientType int32
22
23const (
24	ClientType_SYNC_CLIENT  ClientType = 0
25	ClientType_ASYNC_CLIENT ClientType = 1
26)
27
28var ClientType_name = map[int32]string{
29	0: "SYNC_CLIENT",
30	1: "ASYNC_CLIENT",
31}
32var ClientType_value = map[string]int32{
33	"SYNC_CLIENT":  0,
34	"ASYNC_CLIENT": 1,
35}
36
37func (x ClientType) String() string {
38	return proto.EnumName(ClientType_name, int32(x))
39}
40func (ClientType) EnumDescriptor() ([]byte, []int) {
41	return fileDescriptor_control_63d6a60a9ad7e299, []int{0}
42}
43
44type ServerType int32
45
46const (
47	ServerType_SYNC_SERVER          ServerType = 0
48	ServerType_ASYNC_SERVER         ServerType = 1
49	ServerType_ASYNC_GENERIC_SERVER ServerType = 2
50)
51
52var ServerType_name = map[int32]string{
53	0: "SYNC_SERVER",
54	1: "ASYNC_SERVER",
55	2: "ASYNC_GENERIC_SERVER",
56}
57var ServerType_value = map[string]int32{
58	"SYNC_SERVER":          0,
59	"ASYNC_SERVER":         1,
60	"ASYNC_GENERIC_SERVER": 2,
61}
62
63func (x ServerType) String() string {
64	return proto.EnumName(ServerType_name, int32(x))
65}
66func (ServerType) EnumDescriptor() ([]byte, []int) {
67	return fileDescriptor_control_63d6a60a9ad7e299, []int{1}
68}
69
70type RpcType int32
71
72const (
73	RpcType_UNARY     RpcType = 0
74	RpcType_STREAMING RpcType = 1
75)
76
77var RpcType_name = map[int32]string{
78	0: "UNARY",
79	1: "STREAMING",
80}
81var RpcType_value = map[string]int32{
82	"UNARY":     0,
83	"STREAMING": 1,
84}
85
86func (x RpcType) String() string {
87	return proto.EnumName(RpcType_name, int32(x))
88}
89func (RpcType) EnumDescriptor() ([]byte, []int) {
90	return fileDescriptor_control_63d6a60a9ad7e299, []int{2}
91}
92
93// Parameters of poisson process distribution, which is a good representation
94// of activity coming in from independent identical stationary sources.
95type PoissonParams struct {
96	// The rate of arrivals (a.k.a. lambda parameter of the exp distribution).
97	OfferedLoad          float64  `protobuf:"fixed64,1,opt,name=offered_load,json=offeredLoad,proto3" json:"offered_load,omitempty"`
98	XXX_NoUnkeyedLiteral struct{} `json:"-"`
99	XXX_unrecognized     []byte   `json:"-"`
100	XXX_sizecache        int32    `json:"-"`
101}
102
103func (m *PoissonParams) Reset()         { *m = PoissonParams{} }
104func (m *PoissonParams) String() string { return proto.CompactTextString(m) }
105func (*PoissonParams) ProtoMessage()    {}
106func (*PoissonParams) Descriptor() ([]byte, []int) {
107	return fileDescriptor_control_63d6a60a9ad7e299, []int{0}
108}
109func (m *PoissonParams) XXX_Unmarshal(b []byte) error {
110	return xxx_messageInfo_PoissonParams.Unmarshal(m, b)
111}
112func (m *PoissonParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
113	return xxx_messageInfo_PoissonParams.Marshal(b, m, deterministic)
114}
115func (dst *PoissonParams) XXX_Merge(src proto.Message) {
116	xxx_messageInfo_PoissonParams.Merge(dst, src)
117}
118func (m *PoissonParams) XXX_Size() int {
119	return xxx_messageInfo_PoissonParams.Size(m)
120}
121func (m *PoissonParams) XXX_DiscardUnknown() {
122	xxx_messageInfo_PoissonParams.DiscardUnknown(m)
123}
124
125var xxx_messageInfo_PoissonParams proto.InternalMessageInfo
126
127func (m *PoissonParams) GetOfferedLoad() float64 {
128	if m != nil {
129		return m.OfferedLoad
130	}
131	return 0
132}
133
134type UniformParams struct {
135	InterarrivalLo       float64  `protobuf:"fixed64,1,opt,name=interarrival_lo,json=interarrivalLo,proto3" json:"interarrival_lo,omitempty"`
136	InterarrivalHi       float64  `protobuf:"fixed64,2,opt,name=interarrival_hi,json=interarrivalHi,proto3" json:"interarrival_hi,omitempty"`
137	XXX_NoUnkeyedLiteral struct{} `json:"-"`
138	XXX_unrecognized     []byte   `json:"-"`
139	XXX_sizecache        int32    `json:"-"`
140}
141
142func (m *UniformParams) Reset()         { *m = UniformParams{} }
143func (m *UniformParams) String() string { return proto.CompactTextString(m) }
144func (*UniformParams) ProtoMessage()    {}
145func (*UniformParams) Descriptor() ([]byte, []int) {
146	return fileDescriptor_control_63d6a60a9ad7e299, []int{1}
147}
148func (m *UniformParams) XXX_Unmarshal(b []byte) error {
149	return xxx_messageInfo_UniformParams.Unmarshal(m, b)
150}
151func (m *UniformParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
152	return xxx_messageInfo_UniformParams.Marshal(b, m, deterministic)
153}
154func (dst *UniformParams) XXX_Merge(src proto.Message) {
155	xxx_messageInfo_UniformParams.Merge(dst, src)
156}
157func (m *UniformParams) XXX_Size() int {
158	return xxx_messageInfo_UniformParams.Size(m)
159}
160func (m *UniformParams) XXX_DiscardUnknown() {
161	xxx_messageInfo_UniformParams.DiscardUnknown(m)
162}
163
164var xxx_messageInfo_UniformParams proto.InternalMessageInfo
165
166func (m *UniformParams) GetInterarrivalLo() float64 {
167	if m != nil {
168		return m.InterarrivalLo
169	}
170	return 0
171}
172
173func (m *UniformParams) GetInterarrivalHi() float64 {
174	if m != nil {
175		return m.InterarrivalHi
176	}
177	return 0
178}
179
180type DeterministicParams struct {
181	OfferedLoad          float64  `protobuf:"fixed64,1,opt,name=offered_load,json=offeredLoad,proto3" json:"offered_load,omitempty"`
182	XXX_NoUnkeyedLiteral struct{} `json:"-"`
183	XXX_unrecognized     []byte   `json:"-"`
184	XXX_sizecache        int32    `json:"-"`
185}
186
187func (m *DeterministicParams) Reset()         { *m = DeterministicParams{} }
188func (m *DeterministicParams) String() string { return proto.CompactTextString(m) }
189func (*DeterministicParams) ProtoMessage()    {}
190func (*DeterministicParams) Descriptor() ([]byte, []int) {
191	return fileDescriptor_control_63d6a60a9ad7e299, []int{2}
192}
193func (m *DeterministicParams) XXX_Unmarshal(b []byte) error {
194	return xxx_messageInfo_DeterministicParams.Unmarshal(m, b)
195}
196func (m *DeterministicParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
197	return xxx_messageInfo_DeterministicParams.Marshal(b, m, deterministic)
198}
199func (dst *DeterministicParams) XXX_Merge(src proto.Message) {
200	xxx_messageInfo_DeterministicParams.Merge(dst, src)
201}
202func (m *DeterministicParams) XXX_Size() int {
203	return xxx_messageInfo_DeterministicParams.Size(m)
204}
205func (m *DeterministicParams) XXX_DiscardUnknown() {
206	xxx_messageInfo_DeterministicParams.DiscardUnknown(m)
207}
208
209var xxx_messageInfo_DeterministicParams proto.InternalMessageInfo
210
211func (m *DeterministicParams) GetOfferedLoad() float64 {
212	if m != nil {
213		return m.OfferedLoad
214	}
215	return 0
216}
217
218type ParetoParams struct {
219	InterarrivalBase     float64  `protobuf:"fixed64,1,opt,name=interarrival_base,json=interarrivalBase,proto3" json:"interarrival_base,omitempty"`
220	Alpha                float64  `protobuf:"fixed64,2,opt,name=alpha,proto3" json:"alpha,omitempty"`
221	XXX_NoUnkeyedLiteral struct{} `json:"-"`
222	XXX_unrecognized     []byte   `json:"-"`
223	XXX_sizecache        int32    `json:"-"`
224}
225
226func (m *ParetoParams) Reset()         { *m = ParetoParams{} }
227func (m *ParetoParams) String() string { return proto.CompactTextString(m) }
228func (*ParetoParams) ProtoMessage()    {}
229func (*ParetoParams) Descriptor() ([]byte, []int) {
230	return fileDescriptor_control_63d6a60a9ad7e299, []int{3}
231}
232func (m *ParetoParams) XXX_Unmarshal(b []byte) error {
233	return xxx_messageInfo_ParetoParams.Unmarshal(m, b)
234}
235func (m *ParetoParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
236	return xxx_messageInfo_ParetoParams.Marshal(b, m, deterministic)
237}
238func (dst *ParetoParams) XXX_Merge(src proto.Message) {
239	xxx_messageInfo_ParetoParams.Merge(dst, src)
240}
241func (m *ParetoParams) XXX_Size() int {
242	return xxx_messageInfo_ParetoParams.Size(m)
243}
244func (m *ParetoParams) XXX_DiscardUnknown() {
245	xxx_messageInfo_ParetoParams.DiscardUnknown(m)
246}
247
248var xxx_messageInfo_ParetoParams proto.InternalMessageInfo
249
250func (m *ParetoParams) GetInterarrivalBase() float64 {
251	if m != nil {
252		return m.InterarrivalBase
253	}
254	return 0
255}
256
257func (m *ParetoParams) GetAlpha() float64 {
258	if m != nil {
259		return m.Alpha
260	}
261	return 0
262}
263
264// Once an RPC finishes, immediately start a new one.
265// No configuration parameters needed.
266type ClosedLoopParams struct {
267	XXX_NoUnkeyedLiteral struct{} `json:"-"`
268	XXX_unrecognized     []byte   `json:"-"`
269	XXX_sizecache        int32    `json:"-"`
270}
271
272func (m *ClosedLoopParams) Reset()         { *m = ClosedLoopParams{} }
273func (m *ClosedLoopParams) String() string { return proto.CompactTextString(m) }
274func (*ClosedLoopParams) ProtoMessage()    {}
275func (*ClosedLoopParams) Descriptor() ([]byte, []int) {
276	return fileDescriptor_control_63d6a60a9ad7e299, []int{4}
277}
278func (m *ClosedLoopParams) XXX_Unmarshal(b []byte) error {
279	return xxx_messageInfo_ClosedLoopParams.Unmarshal(m, b)
280}
281func (m *ClosedLoopParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
282	return xxx_messageInfo_ClosedLoopParams.Marshal(b, m, deterministic)
283}
284func (dst *ClosedLoopParams) XXX_Merge(src proto.Message) {
285	xxx_messageInfo_ClosedLoopParams.Merge(dst, src)
286}
287func (m *ClosedLoopParams) XXX_Size() int {
288	return xxx_messageInfo_ClosedLoopParams.Size(m)
289}
290func (m *ClosedLoopParams) XXX_DiscardUnknown() {
291	xxx_messageInfo_ClosedLoopParams.DiscardUnknown(m)
292}
293
294var xxx_messageInfo_ClosedLoopParams proto.InternalMessageInfo
295
296type LoadParams struct {
297	// Types that are valid to be assigned to Load:
298	//	*LoadParams_ClosedLoop
299	//	*LoadParams_Poisson
300	//	*LoadParams_Uniform
301	//	*LoadParams_Determ
302	//	*LoadParams_Pareto
303	Load                 isLoadParams_Load `protobuf_oneof:"load"`
304	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
305	XXX_unrecognized     []byte            `json:"-"`
306	XXX_sizecache        int32             `json:"-"`
307}
308
309func (m *LoadParams) Reset()         { *m = LoadParams{} }
310func (m *LoadParams) String() string { return proto.CompactTextString(m) }
311func (*LoadParams) ProtoMessage()    {}
312func (*LoadParams) Descriptor() ([]byte, []int) {
313	return fileDescriptor_control_63d6a60a9ad7e299, []int{5}
314}
315func (m *LoadParams) XXX_Unmarshal(b []byte) error {
316	return xxx_messageInfo_LoadParams.Unmarshal(m, b)
317}
318func (m *LoadParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
319	return xxx_messageInfo_LoadParams.Marshal(b, m, deterministic)
320}
321func (dst *LoadParams) XXX_Merge(src proto.Message) {
322	xxx_messageInfo_LoadParams.Merge(dst, src)
323}
324func (m *LoadParams) XXX_Size() int {
325	return xxx_messageInfo_LoadParams.Size(m)
326}
327func (m *LoadParams) XXX_DiscardUnknown() {
328	xxx_messageInfo_LoadParams.DiscardUnknown(m)
329}
330
331var xxx_messageInfo_LoadParams proto.InternalMessageInfo
332
333type isLoadParams_Load interface {
334	isLoadParams_Load()
335}
336
337type LoadParams_ClosedLoop struct {
338	ClosedLoop *ClosedLoopParams `protobuf:"bytes,1,opt,name=closed_loop,json=closedLoop,proto3,oneof"`
339}
340
341type LoadParams_Poisson struct {
342	Poisson *PoissonParams `protobuf:"bytes,2,opt,name=poisson,proto3,oneof"`
343}
344
345type LoadParams_Uniform struct {
346	Uniform *UniformParams `protobuf:"bytes,3,opt,name=uniform,proto3,oneof"`
347}
348
349type LoadParams_Determ struct {
350	Determ *DeterministicParams `protobuf:"bytes,4,opt,name=determ,proto3,oneof"`
351}
352
353type LoadParams_Pareto struct {
354	Pareto *ParetoParams `protobuf:"bytes,5,opt,name=pareto,proto3,oneof"`
355}
356
357func (*LoadParams_ClosedLoop) isLoadParams_Load() {}
358
359func (*LoadParams_Poisson) isLoadParams_Load() {}
360
361func (*LoadParams_Uniform) isLoadParams_Load() {}
362
363func (*LoadParams_Determ) isLoadParams_Load() {}
364
365func (*LoadParams_Pareto) isLoadParams_Load() {}
366
367func (m *LoadParams) GetLoad() isLoadParams_Load {
368	if m != nil {
369		return m.Load
370	}
371	return nil
372}
373
374func (m *LoadParams) GetClosedLoop() *ClosedLoopParams {
375	if x, ok := m.GetLoad().(*LoadParams_ClosedLoop); ok {
376		return x.ClosedLoop
377	}
378	return nil
379}
380
381func (m *LoadParams) GetPoisson() *PoissonParams {
382	if x, ok := m.GetLoad().(*LoadParams_Poisson); ok {
383		return x.Poisson
384	}
385	return nil
386}
387
388func (m *LoadParams) GetUniform() *UniformParams {
389	if x, ok := m.GetLoad().(*LoadParams_Uniform); ok {
390		return x.Uniform
391	}
392	return nil
393}
394
395func (m *LoadParams) GetDeterm() *DeterministicParams {
396	if x, ok := m.GetLoad().(*LoadParams_Determ); ok {
397		return x.Determ
398	}
399	return nil
400}
401
402func (m *LoadParams) GetPareto() *ParetoParams {
403	if x, ok := m.GetLoad().(*LoadParams_Pareto); ok {
404		return x.Pareto
405	}
406	return nil
407}
408
409// XXX_OneofFuncs is for the internal use of the proto package.
410func (*LoadParams) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
411	return _LoadParams_OneofMarshaler, _LoadParams_OneofUnmarshaler, _LoadParams_OneofSizer, []interface{}{
412		(*LoadParams_ClosedLoop)(nil),
413		(*LoadParams_Poisson)(nil),
414		(*LoadParams_Uniform)(nil),
415		(*LoadParams_Determ)(nil),
416		(*LoadParams_Pareto)(nil),
417	}
418}
419
420func _LoadParams_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
421	m := msg.(*LoadParams)
422	// load
423	switch x := m.Load.(type) {
424	case *LoadParams_ClosedLoop:
425		b.EncodeVarint(1<<3 | proto.WireBytes)
426		if err := b.EncodeMessage(x.ClosedLoop); err != nil {
427			return err
428		}
429	case *LoadParams_Poisson:
430		b.EncodeVarint(2<<3 | proto.WireBytes)
431		if err := b.EncodeMessage(x.Poisson); err != nil {
432			return err
433		}
434	case *LoadParams_Uniform:
435		b.EncodeVarint(3<<3 | proto.WireBytes)
436		if err := b.EncodeMessage(x.Uniform); err != nil {
437			return err
438		}
439	case *LoadParams_Determ:
440		b.EncodeVarint(4<<3 | proto.WireBytes)
441		if err := b.EncodeMessage(x.Determ); err != nil {
442			return err
443		}
444	case *LoadParams_Pareto:
445		b.EncodeVarint(5<<3 | proto.WireBytes)
446		if err := b.EncodeMessage(x.Pareto); err != nil {
447			return err
448		}
449	case nil:
450	default:
451		return fmt.Errorf("LoadParams.Load has unexpected type %T", x)
452	}
453	return nil
454}
455
456func _LoadParams_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
457	m := msg.(*LoadParams)
458	switch tag {
459	case 1: // load.closed_loop
460		if wire != proto.WireBytes {
461			return true, proto.ErrInternalBadWireType
462		}
463		msg := new(ClosedLoopParams)
464		err := b.DecodeMessage(msg)
465		m.Load = &LoadParams_ClosedLoop{msg}
466		return true, err
467	case 2: // load.poisson
468		if wire != proto.WireBytes {
469			return true, proto.ErrInternalBadWireType
470		}
471		msg := new(PoissonParams)
472		err := b.DecodeMessage(msg)
473		m.Load = &LoadParams_Poisson{msg}
474		return true, err
475	case 3: // load.uniform
476		if wire != proto.WireBytes {
477			return true, proto.ErrInternalBadWireType
478		}
479		msg := new(UniformParams)
480		err := b.DecodeMessage(msg)
481		m.Load = &LoadParams_Uniform{msg}
482		return true, err
483	case 4: // load.determ
484		if wire != proto.WireBytes {
485			return true, proto.ErrInternalBadWireType
486		}
487		msg := new(DeterministicParams)
488		err := b.DecodeMessage(msg)
489		m.Load = &LoadParams_Determ{msg}
490		return true, err
491	case 5: // load.pareto
492		if wire != proto.WireBytes {
493			return true, proto.ErrInternalBadWireType
494		}
495		msg := new(ParetoParams)
496		err := b.DecodeMessage(msg)
497		m.Load = &LoadParams_Pareto{msg}
498		return true, err
499	default:
500		return false, nil
501	}
502}
503
504func _LoadParams_OneofSizer(msg proto.Message) (n int) {
505	m := msg.(*LoadParams)
506	// load
507	switch x := m.Load.(type) {
508	case *LoadParams_ClosedLoop:
509		s := proto.Size(x.ClosedLoop)
510		n += 1 // tag and wire
511		n += proto.SizeVarint(uint64(s))
512		n += s
513	case *LoadParams_Poisson:
514		s := proto.Size(x.Poisson)
515		n += 1 // tag and wire
516		n += proto.SizeVarint(uint64(s))
517		n += s
518	case *LoadParams_Uniform:
519		s := proto.Size(x.Uniform)
520		n += 1 // tag and wire
521		n += proto.SizeVarint(uint64(s))
522		n += s
523	case *LoadParams_Determ:
524		s := proto.Size(x.Determ)
525		n += 1 // tag and wire
526		n += proto.SizeVarint(uint64(s))
527		n += s
528	case *LoadParams_Pareto:
529		s := proto.Size(x.Pareto)
530		n += 1 // tag and wire
531		n += proto.SizeVarint(uint64(s))
532		n += s
533	case nil:
534	default:
535		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
536	}
537	return n
538}
539
540// presence of SecurityParams implies use of TLS
541type SecurityParams struct {
542	UseTestCa            bool     `protobuf:"varint,1,opt,name=use_test_ca,json=useTestCa,proto3" json:"use_test_ca,omitempty"`
543	ServerHostOverride   string   `protobuf:"bytes,2,opt,name=server_host_override,json=serverHostOverride,proto3" json:"server_host_override,omitempty"`
544	XXX_NoUnkeyedLiteral struct{} `json:"-"`
545	XXX_unrecognized     []byte   `json:"-"`
546	XXX_sizecache        int32    `json:"-"`
547}
548
549func (m *SecurityParams) Reset()         { *m = SecurityParams{} }
550func (m *SecurityParams) String() string { return proto.CompactTextString(m) }
551func (*SecurityParams) ProtoMessage()    {}
552func (*SecurityParams) Descriptor() ([]byte, []int) {
553	return fileDescriptor_control_63d6a60a9ad7e299, []int{6}
554}
555func (m *SecurityParams) XXX_Unmarshal(b []byte) error {
556	return xxx_messageInfo_SecurityParams.Unmarshal(m, b)
557}
558func (m *SecurityParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
559	return xxx_messageInfo_SecurityParams.Marshal(b, m, deterministic)
560}
561func (dst *SecurityParams) XXX_Merge(src proto.Message) {
562	xxx_messageInfo_SecurityParams.Merge(dst, src)
563}
564func (m *SecurityParams) XXX_Size() int {
565	return xxx_messageInfo_SecurityParams.Size(m)
566}
567func (m *SecurityParams) XXX_DiscardUnknown() {
568	xxx_messageInfo_SecurityParams.DiscardUnknown(m)
569}
570
571var xxx_messageInfo_SecurityParams proto.InternalMessageInfo
572
573func (m *SecurityParams) GetUseTestCa() bool {
574	if m != nil {
575		return m.UseTestCa
576	}
577	return false
578}
579
580func (m *SecurityParams) GetServerHostOverride() string {
581	if m != nil {
582		return m.ServerHostOverride
583	}
584	return ""
585}
586
587type ClientConfig struct {
588	// List of targets to connect to. At least one target needs to be specified.
589	ServerTargets  []string        `protobuf:"bytes,1,rep,name=server_targets,json=serverTargets,proto3" json:"server_targets,omitempty"`
590	ClientType     ClientType      `protobuf:"varint,2,opt,name=client_type,json=clientType,proto3,enum=grpc.testing.ClientType" json:"client_type,omitempty"`
591	SecurityParams *SecurityParams `protobuf:"bytes,3,opt,name=security_params,json=securityParams,proto3" json:"security_params,omitempty"`
592	// How many concurrent RPCs to start for each channel.
593	// For synchronous client, use a separate thread for each outstanding RPC.
594	OutstandingRpcsPerChannel int32 `protobuf:"varint,4,opt,name=outstanding_rpcs_per_channel,json=outstandingRpcsPerChannel,proto3" json:"outstanding_rpcs_per_channel,omitempty"`
595	// Number of independent client channels to create.
596	// i-th channel will connect to server_target[i % server_targets.size()]
597	ClientChannels int32 `protobuf:"varint,5,opt,name=client_channels,json=clientChannels,proto3" json:"client_channels,omitempty"`
598	// Only for async client. Number of threads to use to start/manage RPCs.
599	AsyncClientThreads int32   `protobuf:"varint,7,opt,name=async_client_threads,json=asyncClientThreads,proto3" json:"async_client_threads,omitempty"`
600	RpcType            RpcType `protobuf:"varint,8,opt,name=rpc_type,json=rpcType,proto3,enum=grpc.testing.RpcType" json:"rpc_type,omitempty"`
601	// The requested load for the entire client (aggregated over all the threads).
602	LoadParams      *LoadParams      `protobuf:"bytes,10,opt,name=load_params,json=loadParams,proto3" json:"load_params,omitempty"`
603	PayloadConfig   *PayloadConfig   `protobuf:"bytes,11,opt,name=payload_config,json=payloadConfig,proto3" json:"payload_config,omitempty"`
604	HistogramParams *HistogramParams `protobuf:"bytes,12,opt,name=histogram_params,json=histogramParams,proto3" json:"histogram_params,omitempty"`
605	// Specify the cores we should run the client on, if desired
606	CoreList             []int32  `protobuf:"varint,13,rep,packed,name=core_list,json=coreList,proto3" json:"core_list,omitempty"`
607	CoreLimit            int32    `protobuf:"varint,14,opt,name=core_limit,json=coreLimit,proto3" json:"core_limit,omitempty"`
608	XXX_NoUnkeyedLiteral struct{} `json:"-"`
609	XXX_unrecognized     []byte   `json:"-"`
610	XXX_sizecache        int32    `json:"-"`
611}
612
613func (m *ClientConfig) Reset()         { *m = ClientConfig{} }
614func (m *ClientConfig) String() string { return proto.CompactTextString(m) }
615func (*ClientConfig) ProtoMessage()    {}
616func (*ClientConfig) Descriptor() ([]byte, []int) {
617	return fileDescriptor_control_63d6a60a9ad7e299, []int{7}
618}
619func (m *ClientConfig) XXX_Unmarshal(b []byte) error {
620	return xxx_messageInfo_ClientConfig.Unmarshal(m, b)
621}
622func (m *ClientConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
623	return xxx_messageInfo_ClientConfig.Marshal(b, m, deterministic)
624}
625func (dst *ClientConfig) XXX_Merge(src proto.Message) {
626	xxx_messageInfo_ClientConfig.Merge(dst, src)
627}
628func (m *ClientConfig) XXX_Size() int {
629	return xxx_messageInfo_ClientConfig.Size(m)
630}
631func (m *ClientConfig) XXX_DiscardUnknown() {
632	xxx_messageInfo_ClientConfig.DiscardUnknown(m)
633}
634
635var xxx_messageInfo_ClientConfig proto.InternalMessageInfo
636
637func (m *ClientConfig) GetServerTargets() []string {
638	if m != nil {
639		return m.ServerTargets
640	}
641	return nil
642}
643
644func (m *ClientConfig) GetClientType() ClientType {
645	if m != nil {
646		return m.ClientType
647	}
648	return ClientType_SYNC_CLIENT
649}
650
651func (m *ClientConfig) GetSecurityParams() *SecurityParams {
652	if m != nil {
653		return m.SecurityParams
654	}
655	return nil
656}
657
658func (m *ClientConfig) GetOutstandingRpcsPerChannel() int32 {
659	if m != nil {
660		return m.OutstandingRpcsPerChannel
661	}
662	return 0
663}
664
665func (m *ClientConfig) GetClientChannels() int32 {
666	if m != nil {
667		return m.ClientChannels
668	}
669	return 0
670}
671
672func (m *ClientConfig) GetAsyncClientThreads() int32 {
673	if m != nil {
674		return m.AsyncClientThreads
675	}
676	return 0
677}
678
679func (m *ClientConfig) GetRpcType() RpcType {
680	if m != nil {
681		return m.RpcType
682	}
683	return RpcType_UNARY
684}
685
686func (m *ClientConfig) GetLoadParams() *LoadParams {
687	if m != nil {
688		return m.LoadParams
689	}
690	return nil
691}
692
693func (m *ClientConfig) GetPayloadConfig() *PayloadConfig {
694	if m != nil {
695		return m.PayloadConfig
696	}
697	return nil
698}
699
700func (m *ClientConfig) GetHistogramParams() *HistogramParams {
701	if m != nil {
702		return m.HistogramParams
703	}
704	return nil
705}
706
707func (m *ClientConfig) GetCoreList() []int32 {
708	if m != nil {
709		return m.CoreList
710	}
711	return nil
712}
713
714func (m *ClientConfig) GetCoreLimit() int32 {
715	if m != nil {
716		return m.CoreLimit
717	}
718	return 0
719}
720
721type ClientStatus struct {
722	Stats                *ClientStats `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"`
723	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
724	XXX_unrecognized     []byte       `json:"-"`
725	XXX_sizecache        int32        `json:"-"`
726}
727
728func (m *ClientStatus) Reset()         { *m = ClientStatus{} }
729func (m *ClientStatus) String() string { return proto.CompactTextString(m) }
730func (*ClientStatus) ProtoMessage()    {}
731func (*ClientStatus) Descriptor() ([]byte, []int) {
732	return fileDescriptor_control_63d6a60a9ad7e299, []int{8}
733}
734func (m *ClientStatus) XXX_Unmarshal(b []byte) error {
735	return xxx_messageInfo_ClientStatus.Unmarshal(m, b)
736}
737func (m *ClientStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
738	return xxx_messageInfo_ClientStatus.Marshal(b, m, deterministic)
739}
740func (dst *ClientStatus) XXX_Merge(src proto.Message) {
741	xxx_messageInfo_ClientStatus.Merge(dst, src)
742}
743func (m *ClientStatus) XXX_Size() int {
744	return xxx_messageInfo_ClientStatus.Size(m)
745}
746func (m *ClientStatus) XXX_DiscardUnknown() {
747	xxx_messageInfo_ClientStatus.DiscardUnknown(m)
748}
749
750var xxx_messageInfo_ClientStatus proto.InternalMessageInfo
751
752func (m *ClientStatus) GetStats() *ClientStats {
753	if m != nil {
754		return m.Stats
755	}
756	return nil
757}
758
759// Request current stats
760type Mark struct {
761	// if true, the stats will be reset after taking their snapshot.
762	Reset_               bool     `protobuf:"varint,1,opt,name=reset,proto3" json:"reset,omitempty"`
763	XXX_NoUnkeyedLiteral struct{} `json:"-"`
764	XXX_unrecognized     []byte   `json:"-"`
765	XXX_sizecache        int32    `json:"-"`
766}
767
768func (m *Mark) Reset()         { *m = Mark{} }
769func (m *Mark) String() string { return proto.CompactTextString(m) }
770func (*Mark) ProtoMessage()    {}
771func (*Mark) Descriptor() ([]byte, []int) {
772	return fileDescriptor_control_63d6a60a9ad7e299, []int{9}
773}
774func (m *Mark) XXX_Unmarshal(b []byte) error {
775	return xxx_messageInfo_Mark.Unmarshal(m, b)
776}
777func (m *Mark) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
778	return xxx_messageInfo_Mark.Marshal(b, m, deterministic)
779}
780func (dst *Mark) XXX_Merge(src proto.Message) {
781	xxx_messageInfo_Mark.Merge(dst, src)
782}
783func (m *Mark) XXX_Size() int {
784	return xxx_messageInfo_Mark.Size(m)
785}
786func (m *Mark) XXX_DiscardUnknown() {
787	xxx_messageInfo_Mark.DiscardUnknown(m)
788}
789
790var xxx_messageInfo_Mark proto.InternalMessageInfo
791
792func (m *Mark) GetReset_() bool {
793	if m != nil {
794		return m.Reset_
795	}
796	return false
797}
798
799type ClientArgs struct {
800	// Types that are valid to be assigned to Argtype:
801	//	*ClientArgs_Setup
802	//	*ClientArgs_Mark
803	Argtype              isClientArgs_Argtype `protobuf_oneof:"argtype"`
804	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
805	XXX_unrecognized     []byte               `json:"-"`
806	XXX_sizecache        int32                `json:"-"`
807}
808
809func (m *ClientArgs) Reset()         { *m = ClientArgs{} }
810func (m *ClientArgs) String() string { return proto.CompactTextString(m) }
811func (*ClientArgs) ProtoMessage()    {}
812func (*ClientArgs) Descriptor() ([]byte, []int) {
813	return fileDescriptor_control_63d6a60a9ad7e299, []int{10}
814}
815func (m *ClientArgs) XXX_Unmarshal(b []byte) error {
816	return xxx_messageInfo_ClientArgs.Unmarshal(m, b)
817}
818func (m *ClientArgs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
819	return xxx_messageInfo_ClientArgs.Marshal(b, m, deterministic)
820}
821func (dst *ClientArgs) XXX_Merge(src proto.Message) {
822	xxx_messageInfo_ClientArgs.Merge(dst, src)
823}
824func (m *ClientArgs) XXX_Size() int {
825	return xxx_messageInfo_ClientArgs.Size(m)
826}
827func (m *ClientArgs) XXX_DiscardUnknown() {
828	xxx_messageInfo_ClientArgs.DiscardUnknown(m)
829}
830
831var xxx_messageInfo_ClientArgs proto.InternalMessageInfo
832
833type isClientArgs_Argtype interface {
834	isClientArgs_Argtype()
835}
836
837type ClientArgs_Setup struct {
838	Setup *ClientConfig `protobuf:"bytes,1,opt,name=setup,proto3,oneof"`
839}
840
841type ClientArgs_Mark struct {
842	Mark *Mark `protobuf:"bytes,2,opt,name=mark,proto3,oneof"`
843}
844
845func (*ClientArgs_Setup) isClientArgs_Argtype() {}
846
847func (*ClientArgs_Mark) isClientArgs_Argtype() {}
848
849func (m *ClientArgs) GetArgtype() isClientArgs_Argtype {
850	if m != nil {
851		return m.Argtype
852	}
853	return nil
854}
855
856func (m *ClientArgs) GetSetup() *ClientConfig {
857	if x, ok := m.GetArgtype().(*ClientArgs_Setup); ok {
858		return x.Setup
859	}
860	return nil
861}
862
863func (m *ClientArgs) GetMark() *Mark {
864	if x, ok := m.GetArgtype().(*ClientArgs_Mark); ok {
865		return x.Mark
866	}
867	return nil
868}
869
870// XXX_OneofFuncs is for the internal use of the proto package.
871func (*ClientArgs) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
872	return _ClientArgs_OneofMarshaler, _ClientArgs_OneofUnmarshaler, _ClientArgs_OneofSizer, []interface{}{
873		(*ClientArgs_Setup)(nil),
874		(*ClientArgs_Mark)(nil),
875	}
876}
877
878func _ClientArgs_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
879	m := msg.(*ClientArgs)
880	// argtype
881	switch x := m.Argtype.(type) {
882	case *ClientArgs_Setup:
883		b.EncodeVarint(1<<3 | proto.WireBytes)
884		if err := b.EncodeMessage(x.Setup); err != nil {
885			return err
886		}
887	case *ClientArgs_Mark:
888		b.EncodeVarint(2<<3 | proto.WireBytes)
889		if err := b.EncodeMessage(x.Mark); err != nil {
890			return err
891		}
892	case nil:
893	default:
894		return fmt.Errorf("ClientArgs.Argtype has unexpected type %T", x)
895	}
896	return nil
897}
898
899func _ClientArgs_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
900	m := msg.(*ClientArgs)
901	switch tag {
902	case 1: // argtype.setup
903		if wire != proto.WireBytes {
904			return true, proto.ErrInternalBadWireType
905		}
906		msg := new(ClientConfig)
907		err := b.DecodeMessage(msg)
908		m.Argtype = &ClientArgs_Setup{msg}
909		return true, err
910	case 2: // argtype.mark
911		if wire != proto.WireBytes {
912			return true, proto.ErrInternalBadWireType
913		}
914		msg := new(Mark)
915		err := b.DecodeMessage(msg)
916		m.Argtype = &ClientArgs_Mark{msg}
917		return true, err
918	default:
919		return false, nil
920	}
921}
922
923func _ClientArgs_OneofSizer(msg proto.Message) (n int) {
924	m := msg.(*ClientArgs)
925	// argtype
926	switch x := m.Argtype.(type) {
927	case *ClientArgs_Setup:
928		s := proto.Size(x.Setup)
929		n += 1 // tag and wire
930		n += proto.SizeVarint(uint64(s))
931		n += s
932	case *ClientArgs_Mark:
933		s := proto.Size(x.Mark)
934		n += 1 // tag and wire
935		n += proto.SizeVarint(uint64(s))
936		n += s
937	case nil:
938	default:
939		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
940	}
941	return n
942}
943
944type ServerConfig struct {
945	ServerType     ServerType      `protobuf:"varint,1,opt,name=server_type,json=serverType,proto3,enum=grpc.testing.ServerType" json:"server_type,omitempty"`
946	SecurityParams *SecurityParams `protobuf:"bytes,2,opt,name=security_params,json=securityParams,proto3" json:"security_params,omitempty"`
947	// Port on which to listen. Zero means pick unused port.
948	Port int32 `protobuf:"varint,4,opt,name=port,proto3" json:"port,omitempty"`
949	// Only for async server. Number of threads used to serve the requests.
950	AsyncServerThreads int32 `protobuf:"varint,7,opt,name=async_server_threads,json=asyncServerThreads,proto3" json:"async_server_threads,omitempty"`
951	// Specify the number of cores to limit server to, if desired
952	CoreLimit int32 `protobuf:"varint,8,opt,name=core_limit,json=coreLimit,proto3" json:"core_limit,omitempty"`
953	// payload config, used in generic server
954	PayloadConfig *PayloadConfig `protobuf:"bytes,9,opt,name=payload_config,json=payloadConfig,proto3" json:"payload_config,omitempty"`
955	// Specify the cores we should run the server on, if desired
956	CoreList             []int32  `protobuf:"varint,10,rep,packed,name=core_list,json=coreList,proto3" json:"core_list,omitempty"`
957	XXX_NoUnkeyedLiteral struct{} `json:"-"`
958	XXX_unrecognized     []byte   `json:"-"`
959	XXX_sizecache        int32    `json:"-"`
960}
961
962func (m *ServerConfig) Reset()         { *m = ServerConfig{} }
963func (m *ServerConfig) String() string { return proto.CompactTextString(m) }
964func (*ServerConfig) ProtoMessage()    {}
965func (*ServerConfig) Descriptor() ([]byte, []int) {
966	return fileDescriptor_control_63d6a60a9ad7e299, []int{11}
967}
968func (m *ServerConfig) XXX_Unmarshal(b []byte) error {
969	return xxx_messageInfo_ServerConfig.Unmarshal(m, b)
970}
971func (m *ServerConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
972	return xxx_messageInfo_ServerConfig.Marshal(b, m, deterministic)
973}
974func (dst *ServerConfig) XXX_Merge(src proto.Message) {
975	xxx_messageInfo_ServerConfig.Merge(dst, src)
976}
977func (m *ServerConfig) XXX_Size() int {
978	return xxx_messageInfo_ServerConfig.Size(m)
979}
980func (m *ServerConfig) XXX_DiscardUnknown() {
981	xxx_messageInfo_ServerConfig.DiscardUnknown(m)
982}
983
984var xxx_messageInfo_ServerConfig proto.InternalMessageInfo
985
986func (m *ServerConfig) GetServerType() ServerType {
987	if m != nil {
988		return m.ServerType
989	}
990	return ServerType_SYNC_SERVER
991}
992
993func (m *ServerConfig) GetSecurityParams() *SecurityParams {
994	if m != nil {
995		return m.SecurityParams
996	}
997	return nil
998}
999
1000func (m *ServerConfig) GetPort() int32 {
1001	if m != nil {
1002		return m.Port
1003	}
1004	return 0
1005}
1006
1007func (m *ServerConfig) GetAsyncServerThreads() int32 {
1008	if m != nil {
1009		return m.AsyncServerThreads
1010	}
1011	return 0
1012}
1013
1014func (m *ServerConfig) GetCoreLimit() int32 {
1015	if m != nil {
1016		return m.CoreLimit
1017	}
1018	return 0
1019}
1020
1021func (m *ServerConfig) GetPayloadConfig() *PayloadConfig {
1022	if m != nil {
1023		return m.PayloadConfig
1024	}
1025	return nil
1026}
1027
1028func (m *ServerConfig) GetCoreList() []int32 {
1029	if m != nil {
1030		return m.CoreList
1031	}
1032	return nil
1033}
1034
1035type ServerArgs struct {
1036	// Types that are valid to be assigned to Argtype:
1037	//	*ServerArgs_Setup
1038	//	*ServerArgs_Mark
1039	Argtype              isServerArgs_Argtype `protobuf_oneof:"argtype"`
1040	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
1041	XXX_unrecognized     []byte               `json:"-"`
1042	XXX_sizecache        int32                `json:"-"`
1043}
1044
1045func (m *ServerArgs) Reset()         { *m = ServerArgs{} }
1046func (m *ServerArgs) String() string { return proto.CompactTextString(m) }
1047func (*ServerArgs) ProtoMessage()    {}
1048func (*ServerArgs) Descriptor() ([]byte, []int) {
1049	return fileDescriptor_control_63d6a60a9ad7e299, []int{12}
1050}
1051func (m *ServerArgs) XXX_Unmarshal(b []byte) error {
1052	return xxx_messageInfo_ServerArgs.Unmarshal(m, b)
1053}
1054func (m *ServerArgs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1055	return xxx_messageInfo_ServerArgs.Marshal(b, m, deterministic)
1056}
1057func (dst *ServerArgs) XXX_Merge(src proto.Message) {
1058	xxx_messageInfo_ServerArgs.Merge(dst, src)
1059}
1060func (m *ServerArgs) XXX_Size() int {
1061	return xxx_messageInfo_ServerArgs.Size(m)
1062}
1063func (m *ServerArgs) XXX_DiscardUnknown() {
1064	xxx_messageInfo_ServerArgs.DiscardUnknown(m)
1065}
1066
1067var xxx_messageInfo_ServerArgs proto.InternalMessageInfo
1068
1069type isServerArgs_Argtype interface {
1070	isServerArgs_Argtype()
1071}
1072
1073type ServerArgs_Setup struct {
1074	Setup *ServerConfig `protobuf:"bytes,1,opt,name=setup,proto3,oneof"`
1075}
1076
1077type ServerArgs_Mark struct {
1078	Mark *Mark `protobuf:"bytes,2,opt,name=mark,proto3,oneof"`
1079}
1080
1081func (*ServerArgs_Setup) isServerArgs_Argtype() {}
1082
1083func (*ServerArgs_Mark) isServerArgs_Argtype() {}
1084
1085func (m *ServerArgs) GetArgtype() isServerArgs_Argtype {
1086	if m != nil {
1087		return m.Argtype
1088	}
1089	return nil
1090}
1091
1092func (m *ServerArgs) GetSetup() *ServerConfig {
1093	if x, ok := m.GetArgtype().(*ServerArgs_Setup); ok {
1094		return x.Setup
1095	}
1096	return nil
1097}
1098
1099func (m *ServerArgs) GetMark() *Mark {
1100	if x, ok := m.GetArgtype().(*ServerArgs_Mark); ok {
1101		return x.Mark
1102	}
1103	return nil
1104}
1105
1106// XXX_OneofFuncs is for the internal use of the proto package.
1107func (*ServerArgs) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
1108	return _ServerArgs_OneofMarshaler, _ServerArgs_OneofUnmarshaler, _ServerArgs_OneofSizer, []interface{}{
1109		(*ServerArgs_Setup)(nil),
1110		(*ServerArgs_Mark)(nil),
1111	}
1112}
1113
1114func _ServerArgs_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
1115	m := msg.(*ServerArgs)
1116	// argtype
1117	switch x := m.Argtype.(type) {
1118	case *ServerArgs_Setup:
1119		b.EncodeVarint(1<<3 | proto.WireBytes)
1120		if err := b.EncodeMessage(x.Setup); err != nil {
1121			return err
1122		}
1123	case *ServerArgs_Mark:
1124		b.EncodeVarint(2<<3 | proto.WireBytes)
1125		if err := b.EncodeMessage(x.Mark); err != nil {
1126			return err
1127		}
1128	case nil:
1129	default:
1130		return fmt.Errorf("ServerArgs.Argtype has unexpected type %T", x)
1131	}
1132	return nil
1133}
1134
1135func _ServerArgs_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
1136	m := msg.(*ServerArgs)
1137	switch tag {
1138	case 1: // argtype.setup
1139		if wire != proto.WireBytes {
1140			return true, proto.ErrInternalBadWireType
1141		}
1142		msg := new(ServerConfig)
1143		err := b.DecodeMessage(msg)
1144		m.Argtype = &ServerArgs_Setup{msg}
1145		return true, err
1146	case 2: // argtype.mark
1147		if wire != proto.WireBytes {
1148			return true, proto.ErrInternalBadWireType
1149		}
1150		msg := new(Mark)
1151		err := b.DecodeMessage(msg)
1152		m.Argtype = &ServerArgs_Mark{msg}
1153		return true, err
1154	default:
1155		return false, nil
1156	}
1157}
1158
1159func _ServerArgs_OneofSizer(msg proto.Message) (n int) {
1160	m := msg.(*ServerArgs)
1161	// argtype
1162	switch x := m.Argtype.(type) {
1163	case *ServerArgs_Setup:
1164		s := proto.Size(x.Setup)
1165		n += 1 // tag and wire
1166		n += proto.SizeVarint(uint64(s))
1167		n += s
1168	case *ServerArgs_Mark:
1169		s := proto.Size(x.Mark)
1170		n += 1 // tag and wire
1171		n += proto.SizeVarint(uint64(s))
1172		n += s
1173	case nil:
1174	default:
1175		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
1176	}
1177	return n
1178}
1179
1180type ServerStatus struct {
1181	Stats *ServerStats `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"`
1182	// the port bound by the server
1183	Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
1184	// Number of cores available to the server
1185	Cores                int32    `protobuf:"varint,3,opt,name=cores,proto3" json:"cores,omitempty"`
1186	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1187	XXX_unrecognized     []byte   `json:"-"`
1188	XXX_sizecache        int32    `json:"-"`
1189}
1190
1191func (m *ServerStatus) Reset()         { *m = ServerStatus{} }
1192func (m *ServerStatus) String() string { return proto.CompactTextString(m) }
1193func (*ServerStatus) ProtoMessage()    {}
1194func (*ServerStatus) Descriptor() ([]byte, []int) {
1195	return fileDescriptor_control_63d6a60a9ad7e299, []int{13}
1196}
1197func (m *ServerStatus) XXX_Unmarshal(b []byte) error {
1198	return xxx_messageInfo_ServerStatus.Unmarshal(m, b)
1199}
1200func (m *ServerStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1201	return xxx_messageInfo_ServerStatus.Marshal(b, m, deterministic)
1202}
1203func (dst *ServerStatus) XXX_Merge(src proto.Message) {
1204	xxx_messageInfo_ServerStatus.Merge(dst, src)
1205}
1206func (m *ServerStatus) XXX_Size() int {
1207	return xxx_messageInfo_ServerStatus.Size(m)
1208}
1209func (m *ServerStatus) XXX_DiscardUnknown() {
1210	xxx_messageInfo_ServerStatus.DiscardUnknown(m)
1211}
1212
1213var xxx_messageInfo_ServerStatus proto.InternalMessageInfo
1214
1215func (m *ServerStatus) GetStats() *ServerStats {
1216	if m != nil {
1217		return m.Stats
1218	}
1219	return nil
1220}
1221
1222func (m *ServerStatus) GetPort() int32 {
1223	if m != nil {
1224		return m.Port
1225	}
1226	return 0
1227}
1228
1229func (m *ServerStatus) GetCores() int32 {
1230	if m != nil {
1231		return m.Cores
1232	}
1233	return 0
1234}
1235
1236type CoreRequest struct {
1237	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1238	XXX_unrecognized     []byte   `json:"-"`
1239	XXX_sizecache        int32    `json:"-"`
1240}
1241
1242func (m *CoreRequest) Reset()         { *m = CoreRequest{} }
1243func (m *CoreRequest) String() string { return proto.CompactTextString(m) }
1244func (*CoreRequest) ProtoMessage()    {}
1245func (*CoreRequest) Descriptor() ([]byte, []int) {
1246	return fileDescriptor_control_63d6a60a9ad7e299, []int{14}
1247}
1248func (m *CoreRequest) XXX_Unmarshal(b []byte) error {
1249	return xxx_messageInfo_CoreRequest.Unmarshal(m, b)
1250}
1251func (m *CoreRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1252	return xxx_messageInfo_CoreRequest.Marshal(b, m, deterministic)
1253}
1254func (dst *CoreRequest) XXX_Merge(src proto.Message) {
1255	xxx_messageInfo_CoreRequest.Merge(dst, src)
1256}
1257func (m *CoreRequest) XXX_Size() int {
1258	return xxx_messageInfo_CoreRequest.Size(m)
1259}
1260func (m *CoreRequest) XXX_DiscardUnknown() {
1261	xxx_messageInfo_CoreRequest.DiscardUnknown(m)
1262}
1263
1264var xxx_messageInfo_CoreRequest proto.InternalMessageInfo
1265
1266type CoreResponse struct {
1267	// Number of cores available on the server
1268	Cores                int32    `protobuf:"varint,1,opt,name=cores,proto3" json:"cores,omitempty"`
1269	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1270	XXX_unrecognized     []byte   `json:"-"`
1271	XXX_sizecache        int32    `json:"-"`
1272}
1273
1274func (m *CoreResponse) Reset()         { *m = CoreResponse{} }
1275func (m *CoreResponse) String() string { return proto.CompactTextString(m) }
1276func (*CoreResponse) ProtoMessage()    {}
1277func (*CoreResponse) Descriptor() ([]byte, []int) {
1278	return fileDescriptor_control_63d6a60a9ad7e299, []int{15}
1279}
1280func (m *CoreResponse) XXX_Unmarshal(b []byte) error {
1281	return xxx_messageInfo_CoreResponse.Unmarshal(m, b)
1282}
1283func (m *CoreResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1284	return xxx_messageInfo_CoreResponse.Marshal(b, m, deterministic)
1285}
1286func (dst *CoreResponse) XXX_Merge(src proto.Message) {
1287	xxx_messageInfo_CoreResponse.Merge(dst, src)
1288}
1289func (m *CoreResponse) XXX_Size() int {
1290	return xxx_messageInfo_CoreResponse.Size(m)
1291}
1292func (m *CoreResponse) XXX_DiscardUnknown() {
1293	xxx_messageInfo_CoreResponse.DiscardUnknown(m)
1294}
1295
1296var xxx_messageInfo_CoreResponse proto.InternalMessageInfo
1297
1298func (m *CoreResponse) GetCores() int32 {
1299	if m != nil {
1300		return m.Cores
1301	}
1302	return 0
1303}
1304
1305type Void struct {
1306	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1307	XXX_unrecognized     []byte   `json:"-"`
1308	XXX_sizecache        int32    `json:"-"`
1309}
1310
1311func (m *Void) Reset()         { *m = Void{} }
1312func (m *Void) String() string { return proto.CompactTextString(m) }
1313func (*Void) ProtoMessage()    {}
1314func (*Void) Descriptor() ([]byte, []int) {
1315	return fileDescriptor_control_63d6a60a9ad7e299, []int{16}
1316}
1317func (m *Void) XXX_Unmarshal(b []byte) error {
1318	return xxx_messageInfo_Void.Unmarshal(m, b)
1319}
1320func (m *Void) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1321	return xxx_messageInfo_Void.Marshal(b, m, deterministic)
1322}
1323func (dst *Void) XXX_Merge(src proto.Message) {
1324	xxx_messageInfo_Void.Merge(dst, src)
1325}
1326func (m *Void) XXX_Size() int {
1327	return xxx_messageInfo_Void.Size(m)
1328}
1329func (m *Void) XXX_DiscardUnknown() {
1330	xxx_messageInfo_Void.DiscardUnknown(m)
1331}
1332
1333var xxx_messageInfo_Void proto.InternalMessageInfo
1334
1335// A single performance scenario: input to qps_json_driver
1336type Scenario struct {
1337	// Human readable name for this scenario
1338	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1339	// Client configuration
1340	ClientConfig *ClientConfig `protobuf:"bytes,2,opt,name=client_config,json=clientConfig,proto3" json:"client_config,omitempty"`
1341	// Number of clients to start for the test
1342	NumClients int32 `protobuf:"varint,3,opt,name=num_clients,json=numClients,proto3" json:"num_clients,omitempty"`
1343	// Server configuration
1344	ServerConfig *ServerConfig `protobuf:"bytes,4,opt,name=server_config,json=serverConfig,proto3" json:"server_config,omitempty"`
1345	// Number of servers to start for the test
1346	NumServers int32 `protobuf:"varint,5,opt,name=num_servers,json=numServers,proto3" json:"num_servers,omitempty"`
1347	// Warmup period, in seconds
1348	WarmupSeconds int32 `protobuf:"varint,6,opt,name=warmup_seconds,json=warmupSeconds,proto3" json:"warmup_seconds,omitempty"`
1349	// Benchmark time, in seconds
1350	BenchmarkSeconds int32 `protobuf:"varint,7,opt,name=benchmark_seconds,json=benchmarkSeconds,proto3" json:"benchmark_seconds,omitempty"`
1351	// Number of workers to spawn locally (usually zero)
1352	SpawnLocalWorkerCount int32    `protobuf:"varint,8,opt,name=spawn_local_worker_count,json=spawnLocalWorkerCount,proto3" json:"spawn_local_worker_count,omitempty"`
1353	XXX_NoUnkeyedLiteral  struct{} `json:"-"`
1354	XXX_unrecognized      []byte   `json:"-"`
1355	XXX_sizecache         int32    `json:"-"`
1356}
1357
1358func (m *Scenario) Reset()         { *m = Scenario{} }
1359func (m *Scenario) String() string { return proto.CompactTextString(m) }
1360func (*Scenario) ProtoMessage()    {}
1361func (*Scenario) Descriptor() ([]byte, []int) {
1362	return fileDescriptor_control_63d6a60a9ad7e299, []int{17}
1363}
1364func (m *Scenario) XXX_Unmarshal(b []byte) error {
1365	return xxx_messageInfo_Scenario.Unmarshal(m, b)
1366}
1367func (m *Scenario) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1368	return xxx_messageInfo_Scenario.Marshal(b, m, deterministic)
1369}
1370func (dst *Scenario) XXX_Merge(src proto.Message) {
1371	xxx_messageInfo_Scenario.Merge(dst, src)
1372}
1373func (m *Scenario) XXX_Size() int {
1374	return xxx_messageInfo_Scenario.Size(m)
1375}
1376func (m *Scenario) XXX_DiscardUnknown() {
1377	xxx_messageInfo_Scenario.DiscardUnknown(m)
1378}
1379
1380var xxx_messageInfo_Scenario proto.InternalMessageInfo
1381
1382func (m *Scenario) GetName() string {
1383	if m != nil {
1384		return m.Name
1385	}
1386	return ""
1387}
1388
1389func (m *Scenario) GetClientConfig() *ClientConfig {
1390	if m != nil {
1391		return m.ClientConfig
1392	}
1393	return nil
1394}
1395
1396func (m *Scenario) GetNumClients() int32 {
1397	if m != nil {
1398		return m.NumClients
1399	}
1400	return 0
1401}
1402
1403func (m *Scenario) GetServerConfig() *ServerConfig {
1404	if m != nil {
1405		return m.ServerConfig
1406	}
1407	return nil
1408}
1409
1410func (m *Scenario) GetNumServers() int32 {
1411	if m != nil {
1412		return m.NumServers
1413	}
1414	return 0
1415}
1416
1417func (m *Scenario) GetWarmupSeconds() int32 {
1418	if m != nil {
1419		return m.WarmupSeconds
1420	}
1421	return 0
1422}
1423
1424func (m *Scenario) GetBenchmarkSeconds() int32 {
1425	if m != nil {
1426		return m.BenchmarkSeconds
1427	}
1428	return 0
1429}
1430
1431func (m *Scenario) GetSpawnLocalWorkerCount() int32 {
1432	if m != nil {
1433		return m.SpawnLocalWorkerCount
1434	}
1435	return 0
1436}
1437
1438// A set of scenarios to be run with qps_json_driver
1439type Scenarios struct {
1440	Scenarios            []*Scenario `protobuf:"bytes,1,rep,name=scenarios,proto3" json:"scenarios,omitempty"`
1441	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
1442	XXX_unrecognized     []byte      `json:"-"`
1443	XXX_sizecache        int32       `json:"-"`
1444}
1445
1446func (m *Scenarios) Reset()         { *m = Scenarios{} }
1447func (m *Scenarios) String() string { return proto.CompactTextString(m) }
1448func (*Scenarios) ProtoMessage()    {}
1449func (*Scenarios) Descriptor() ([]byte, []int) {
1450	return fileDescriptor_control_63d6a60a9ad7e299, []int{18}
1451}
1452func (m *Scenarios) XXX_Unmarshal(b []byte) error {
1453	return xxx_messageInfo_Scenarios.Unmarshal(m, b)
1454}
1455func (m *Scenarios) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1456	return xxx_messageInfo_Scenarios.Marshal(b, m, deterministic)
1457}
1458func (dst *Scenarios) XXX_Merge(src proto.Message) {
1459	xxx_messageInfo_Scenarios.Merge(dst, src)
1460}
1461func (m *Scenarios) XXX_Size() int {
1462	return xxx_messageInfo_Scenarios.Size(m)
1463}
1464func (m *Scenarios) XXX_DiscardUnknown() {
1465	xxx_messageInfo_Scenarios.DiscardUnknown(m)
1466}
1467
1468var xxx_messageInfo_Scenarios proto.InternalMessageInfo
1469
1470func (m *Scenarios) GetScenarios() []*Scenario {
1471	if m != nil {
1472		return m.Scenarios
1473	}
1474	return nil
1475}
1476
1477func init() {
1478	proto.RegisterType((*PoissonParams)(nil), "grpc.testing.PoissonParams")
1479	proto.RegisterType((*UniformParams)(nil), "grpc.testing.UniformParams")
1480	proto.RegisterType((*DeterministicParams)(nil), "grpc.testing.DeterministicParams")
1481	proto.RegisterType((*ParetoParams)(nil), "grpc.testing.ParetoParams")
1482	proto.RegisterType((*ClosedLoopParams)(nil), "grpc.testing.ClosedLoopParams")
1483	proto.RegisterType((*LoadParams)(nil), "grpc.testing.LoadParams")
1484	proto.RegisterType((*SecurityParams)(nil), "grpc.testing.SecurityParams")
1485	proto.RegisterType((*ClientConfig)(nil), "grpc.testing.ClientConfig")
1486	proto.RegisterType((*ClientStatus)(nil), "grpc.testing.ClientStatus")
1487	proto.RegisterType((*Mark)(nil), "grpc.testing.Mark")
1488	proto.RegisterType((*ClientArgs)(nil), "grpc.testing.ClientArgs")
1489	proto.RegisterType((*ServerConfig)(nil), "grpc.testing.ServerConfig")
1490	proto.RegisterType((*ServerArgs)(nil), "grpc.testing.ServerArgs")
1491	proto.RegisterType((*ServerStatus)(nil), "grpc.testing.ServerStatus")
1492	proto.RegisterType((*CoreRequest)(nil), "grpc.testing.CoreRequest")
1493	proto.RegisterType((*CoreResponse)(nil), "grpc.testing.CoreResponse")
1494	proto.RegisterType((*Void)(nil), "grpc.testing.Void")
1495	proto.RegisterType((*Scenario)(nil), "grpc.testing.Scenario")
1496	proto.RegisterType((*Scenarios)(nil), "grpc.testing.Scenarios")
1497	proto.RegisterEnum("grpc.testing.ClientType", ClientType_name, ClientType_value)
1498	proto.RegisterEnum("grpc.testing.ServerType", ServerType_name, ServerType_value)
1499	proto.RegisterEnum("grpc.testing.RpcType", RpcType_name, RpcType_value)
1500}
1501
1502func init() { proto.RegisterFile("control.proto", fileDescriptor_control_63d6a60a9ad7e299) }
1503
1504var fileDescriptor_control_63d6a60a9ad7e299 = []byte{
1505	// 1179 bytes of a gzipped FileDescriptorProto
1506	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0x6f, 0x6f, 0xdb, 0xb6,
1507	0x13, 0xb6, 0x1d, 0xdb, 0xb1, 0x4e, 0xb6, 0xe3, 0x1f, 0x7f, 0xe9, 0xa0, 0xa6, 0x69, 0x97, 0x6a,
1508	0x1b, 0x16, 0x64, 0x40, 0x5a, 0x78, 0x05, 0xba, 0x62, 0x2f, 0x02, 0xc7, 0x33, 0xea, 0x00, 0x69,
1509	0x96, 0xd1, 0x69, 0x87, 0xbe, 0x12, 0x18, 0x99, 0xb1, 0x85, 0xc8, 0xa2, 0x46, 0x52, 0x09, 0xf2,
1510	0x15, 0xf6, 0x99, 0xf6, 0x39, 0xf6, 0x35, 0xf6, 0x15, 0x06, 0xfe, 0x91, 0x23, 0xb9, 0x06, 0x9a,
1511	0x6d, 0xef, 0xc4, 0xbb, 0xe7, 0xe1, 0x91, 0xf7, 0xdc, 0x1d, 0x05, 0x9d, 0x90, 0x25, 0x92, 0xb3,
1512	0xf8, 0x30, 0xe5, 0x4c, 0x32, 0xd4, 0x9e, 0xf1, 0x34, 0x3c, 0x94, 0x54, 0xc8, 0x28, 0x99, 0xed,
1513	0x74, 0x53, 0x72, 0x17, 0x33, 0x32, 0x15, 0xc6, 0xbb, 0xe3, 0x0a, 0x49, 0xa4, 0x5d, 0xf8, 0x7d,
1514	0xe8, 0x9c, 0xb3, 0x48, 0x08, 0x96, 0x9c, 0x13, 0x4e, 0x16, 0x02, 0x3d, 0x87, 0x36, 0xbb, 0xba,
1515	0xa2, 0x9c, 0x4e, 0x03, 0x45, 0xf2, 0xaa, 0x7b, 0xd5, 0xfd, 0x2a, 0x76, 0xad, 0xed, 0x94, 0x91,
1516	0xa9, 0x4f, 0xa0, 0xf3, 0x3e, 0x89, 0xae, 0x18, 0x5f, 0x58, 0xce, 0xb7, 0xb0, 0x15, 0x25, 0x92,
1517	0x72, 0xc2, 0x79, 0x74, 0x43, 0xe2, 0x20, 0x66, 0x96, 0xd6, 0x2d, 0x9a, 0x4f, 0xd9, 0x27, 0xc0,
1518	0x79, 0xe4, 0xd5, 0x3e, 0x05, 0x8e, 0x23, 0xff, 0x07, 0xf8, 0xff, 0x4f, 0x54, 0x52, 0xbe, 0x88,
1519	0x92, 0x48, 0xc8, 0x28, 0x7c, 0xf8, 0xe1, 0x7e, 0x81, 0xf6, 0x39, 0xe1, 0x54, 0x32, 0x4b, 0xf9,
1520	0x0e, 0xfe, 0x57, 0x0a, 0x79, 0x49, 0x04, 0xb5, 0xbc, 0x5e, 0xd1, 0x71, 0x4c, 0x04, 0x45, 0xdb,
1521	0xd0, 0x20, 0x71, 0x3a, 0x27, 0xf6, 0x54, 0x66, 0xe1, 0x23, 0xe8, 0x0d, 0x63, 0x26, 0x54, 0x00,
1522	0x96, 0x9a, 0x6d, 0xfd, 0x3f, 0x6a, 0x00, 0x2a, 0x9e, 0x8d, 0x32, 0x00, 0x37, 0xd4, 0x90, 0x20,
1523	0x66, 0x2c, 0xd5, 0xfb, 0xbb, 0xfd, 0x67, 0x87, 0x45, 0x1d, 0x0e, 0x57, 0xf7, 0x18, 0x57, 0x30,
1524	0x84, 0x4b, 0x1b, 0x7a, 0x0d, 0x9b, 0xa9, 0x51, 0x42, 0x47, 0x77, 0xfb, 0x4f, 0xca, 0xf4, 0x92,
1525	0x4c, 0xe3, 0x0a, 0xce, 0xd1, 0x8a, 0x98, 0x19, 0x39, 0xbc, 0x8d, 0x75, 0xc4, 0x92, 0x56, 0x8a,
1526	0x68, 0xd1, 0xe8, 0x47, 0x68, 0x4e, 0x75, 0x92, 0xbd, 0xba, 0xe6, 0x3d, 0x2f, 0xf3, 0xd6, 0x08,
1527	0x30, 0xae, 0x60, 0x4b, 0x41, 0xaf, 0xa0, 0x99, 0xea, 0x3c, 0x7b, 0x0d, 0x4d, 0xde, 0x59, 0x39,
1528	0x6d, 0x41, 0x03, 0xc5, 0x32, 0xd8, 0xe3, 0x26, 0xd4, 0x95, 0x70, 0xfe, 0x25, 0x74, 0x27, 0x34,
1529	0xcc, 0x78, 0x24, 0xef, 0x6c, 0x06, 0x9f, 0x81, 0x9b, 0x09, 0x1a, 0x28, 0x7e, 0x10, 0x12, 0x9d,
1530	0xc1, 0x16, 0x76, 0x32, 0x41, 0x2f, 0xa8, 0x90, 0x43, 0x82, 0x5e, 0xc2, 0xb6, 0xa0, 0xfc, 0x86,
1531	0xf2, 0x60, 0xce, 0x84, 0x0c, 0xd8, 0x0d, 0xe5, 0x3c, 0x9a, 0x52, 0x9d, 0x2b, 0x07, 0x23, 0xe3,
1532	0x1b, 0x33, 0x21, 0x7f, 0xb6, 0x1e, 0xff, 0xf7, 0x06, 0xb4, 0x87, 0x71, 0x44, 0x13, 0x39, 0x64,
1533	0xc9, 0x55, 0x34, 0x43, 0xdf, 0x40, 0xd7, 0x6e, 0x21, 0x09, 0x9f, 0x51, 0x29, 0xbc, 0xea, 0xde,
1534	0xc6, 0xbe, 0x83, 0x3b, 0xc6, 0x7a, 0x61, 0x8c, 0xe8, 0x8d, 0xd2, 0x52, 0xd1, 0x02, 0x79, 0x97,
1535	0x9a, 0x00, 0xdd, 0xbe, 0xb7, 0xaa, 0xa5, 0x02, 0x5c, 0xdc, 0xa5, 0x54, 0x69, 0x98, 0x7f, 0xa3,
1536	0x11, 0x6c, 0x09, 0x7b, 0xad, 0x20, 0xd5, 0xf7, 0xb2, 0x92, 0xec, 0x96, 0xe9, 0xe5, 0xbb, 0xe3,
1537	0xae, 0x28, 0xe7, 0xe2, 0x08, 0x76, 0x59, 0x26, 0x85, 0x24, 0xc9, 0x34, 0x4a, 0x66, 0x01, 0x4f,
1538	0x43, 0x11, 0xa4, 0x94, 0x07, 0xe1, 0x9c, 0x24, 0x09, 0x8d, 0xb5, 0x5c, 0x0d, 0xfc, 0xb8, 0x80,
1539	0xc1, 0x69, 0x28, 0xce, 0x29, 0x1f, 0x1a, 0x80, 0xea, 0x33, 0x7b, 0x05, 0x4b, 0x11, 0x5a, 0xa5,
1540	0x06, 0xee, 0x1a, 0xb3, 0xc5, 0x09, 0x95, 0x55, 0x22, 0xee, 0x92, 0x30, 0xc8, 0x6f, 0x3c, 0xe7,
1541	0x94, 0x4c, 0x85, 0xb7, 0xa9, 0xd1, 0x48, 0xfb, 0xec, 0x5d, 0x8d, 0x07, 0xbd, 0x84, 0x16, 0x4f,
1542	0x43, 0x93, 0x9a, 0x96, 0x4e, 0xcd, 0xa3, 0xf2, 0xdd, 0x70, 0x1a, 0xea, 0xbc, 0x6c, 0x72, 0xf3,
1543	0xa1, 0xf2, 0xa9, 0x34, 0xcf, 0x13, 0x02, 0x3a, 0x21, 0x2b, 0xf9, 0xbc, 0x6f, 0x25, 0x0c, 0xf1,
1544	0x7d, 0x5b, 0x1d, 0x43, 0x3e, 0xbc, 0x82, 0x50, 0x6b, 0xe8, 0xb9, 0x6b, 0x5b, 0xc3, 0x60, 0x8c,
1545	0xcc, 0xb8, 0x93, 0x16, 0x97, 0x68, 0x0c, 0xbd, 0x79, 0x24, 0x24, 0x9b, 0x71, 0xb2, 0xc8, 0xcf,
1546	0xd0, 0xd6, 0xbb, 0x3c, 0x2d, 0xef, 0x32, 0xce, 0x51, 0xf6, 0x20, 0x5b, 0xf3, 0xb2, 0x01, 0x3d,
1547	0x01, 0x27, 0x64, 0x9c, 0x06, 0x71, 0x24, 0xa4, 0xd7, 0xd9, 0xdb, 0xd8, 0x6f, 0xe0, 0x96, 0x32,
1548	0x9c, 0x46, 0x42, 0xa2, 0xa7, 0x00, 0xd6, 0xb9, 0x88, 0xa4, 0xd7, 0xd5, 0xf9, 0x73, 0x8c, 0x77,
1549	0x11, 0x49, 0xff, 0x28, 0xaf, 0xc5, 0x89, 0x24, 0x32, 0x13, 0xe8, 0x05, 0x34, 0xf4, 0x18, 0xb6,
1550	0xa3, 0xe2, 0xf1, 0xba, 0xf2, 0x52, 0x50, 0x81, 0x0d, 0xce, 0xdf, 0x85, 0xfa, 0x3b, 0xc2, 0xaf,
1551	0xd5, 0x88, 0xe2, 0x54, 0x50, 0x69, 0x3b, 0xc4, 0x2c, 0xfc, 0x0c, 0xc0, 0x70, 0x06, 0x7c, 0x26,
1552	0x50, 0x1f, 0x1a, 0x82, 0xca, 0x2c, 0x9f, 0x43, 0x3b, 0xeb, 0x36, 0x37, 0xd9, 0x19, 0x57, 0xb0,
1553	0x81, 0xa2, 0x7d, 0xa8, 0x2f, 0x08, 0xbf, 0xb6, 0xb3, 0x07, 0x95, 0x29, 0x2a, 0xf2, 0xb8, 0x82,
1554	0x35, 0xe2, 0xd8, 0x81, 0x4d, 0xc2, 0x67, 0xaa, 0x00, 0xfc, 0x3f, 0x6b, 0xd0, 0x9e, 0xe8, 0xe6,
1555	0xb1, 0xc9, 0x7e, 0x03, 0x6e, 0xde, 0x62, 0xaa, 0x40, 0xaa, 0xeb, 0x7a, 0xc7, 0x10, 0x4c, 0xef,
1556	0x88, 0xe5, 0xf7, 0xba, 0xde, 0xa9, 0xfd, 0x8b, 0xde, 0x41, 0x50, 0x4f, 0x19, 0x97, 0xb6, 0x47,
1557	0xf4, 0xf7, 0x7d, 0x95, 0xe7, 0x67, 0x5b, 0x53, 0xe5, 0xf6, 0x54, 0xb6, 0xca, 0xcb, 0x6a, 0xb6,
1558	0x56, 0xd4, 0x5c, 0x53, 0x97, 0xce, 0x3f, 0xae, 0xcb, 0x52, 0x35, 0x41, 0xb9, 0x9a, 0x94, 0x9e,
1559	0xe6, 0x40, 0x0f, 0xd0, 0xb3, 0x28, 0xc0, 0x7f, 0xd4, 0x33, 0xca, 0xe5, 0x7c, 0x50, 0x95, 0xde,
1560	0x43, 0xf3, 0x2a, 0x5d, 0x66, 0xbf, 0x56, 0xc8, 0xfe, 0x36, 0x34, 0xd4, 0xbd, 0xcc, 0x28, 0x6c,
1561	0x60, 0xb3, 0xf0, 0x3b, 0xe0, 0x0e, 0x19, 0xa7, 0x98, 0xfe, 0x96, 0x51, 0x21, 0xfd, 0xaf, 0xa1,
1562	0x6d, 0x96, 0x22, 0x65, 0x89, 0x79, 0x89, 0x0d, 0xa9, 0x5a, 0x24, 0x35, 0xa1, 0xfe, 0x81, 0x45,
1563	0x53, 0xff, 0xaf, 0x1a, 0xb4, 0x26, 0x21, 0x4d, 0x08, 0x8f, 0x98, 0x8a, 0x99, 0x90, 0x85, 0x29,
1564	0x36, 0x07, 0xeb, 0x6f, 0x74, 0x04, 0x9d, 0x7c, 0x00, 0x1a, 0x7d, 0x6a, 0x9f, 0xeb, 0x04, 0xdc,
1565	0x0e, 0x8b, 0x6f, 0xc5, 0x97, 0xe0, 0x26, 0xd9, 0xc2, 0x8e, 0xc5, 0xfc, 0xe8, 0x90, 0x64, 0x0b,
1566	0xc3, 0x51, 0x33, 0xda, 0x3e, 0x1b, 0x79, 0x84, 0xfa, 0xe7, 0xb4, 0xc1, 0x6d, 0x51, 0x6c, 0x15,
1567	0x1b, 0xc1, 0xd8, 0xf2, 0xf9, 0xac, 0x22, 0x18, 0x8e, 0x50, 0xcf, 0xd5, 0x2d, 0xe1, 0x8b, 0x2c,
1568	0x0d, 0x04, 0x0d, 0x59, 0x32, 0x15, 0x5e, 0x53, 0x63, 0x3a, 0xc6, 0x3a, 0x31, 0x46, 0xf5, 0x83,
1569	0x73, 0x49, 0x93, 0x70, 0xae, 0xb4, 0x5c, 0x22, 0x4d, 0x65, 0xf7, 0x96, 0x8e, 0x1c, 0xfc, 0x1a,
1570	0x3c, 0x91, 0x92, 0xdb, 0x24, 0x88, 0x59, 0x48, 0xe2, 0xe0, 0x96, 0xf1, 0x6b, 0x7d, 0x83, 0x2c,
1571	0xc9, 0xab, 0xfc, 0x91, 0xf6, 0x9f, 0x2a, 0xf7, 0xaf, 0xda, 0x3b, 0x54, 0x4e, 0x7f, 0x00, 0x4e,
1572	0x9e, 0x70, 0x81, 0x5e, 0x81, 0x23, 0xf2, 0x85, 0x7e, 0x43, 0xdd, 0xfe, 0x17, 0x2b, 0xf7, 0xb6,
1573	0x6e, 0x7c, 0x0f, 0x3c, 0x78, 0x91, 0xcf, 0x28, 0xdd, 0xee, 0x5b, 0xe0, 0x4e, 0x3e, 0x9e, 0x0d,
1574	0x83, 0xe1, 0xe9, 0xc9, 0xe8, 0xec, 0xa2, 0x57, 0x41, 0x3d, 0x68, 0x0f, 0x8a, 0x96, 0xea, 0xc1,
1575	0x49, 0xde, 0x04, 0x25, 0xc2, 0x64, 0x84, 0x3f, 0x8c, 0x70, 0x91, 0x60, 0x2d, 0x55, 0xe4, 0xc1,
1576	0xb6, 0xb1, 0xbc, 0x1d, 0x9d, 0x8d, 0xf0, 0xc9, 0xd2, 0x53, 0x3b, 0xf8, 0x0a, 0x36, 0xed, 0xbb,
1577	0x84, 0x1c, 0x68, 0xbc, 0x3f, 0x1b, 0xe0, 0x8f, 0xbd, 0x0a, 0xea, 0x80, 0x33, 0xb9, 0xc0, 0xa3,
1578	0xc1, 0xbb, 0x93, 0xb3, 0xb7, 0xbd, 0xea, 0x65, 0x53, 0xff, 0x12, 0x7f, 0xff, 0x77, 0x00, 0x00,
1579	0x00, 0xff, 0xff, 0x75, 0x59, 0xf4, 0x03, 0x4e, 0x0b, 0x00, 0x00,
1580}
1581