1// Code generated by protoc-gen-go.
2// source: loadtest.proto
3// DO NOT EDIT!
4
5/*
6Package google_pubsub_loadtest is a generated protocol buffer package.
7
8It is generated from these files:
9	loadtest.proto
10
11It has these top-level messages:
12	StartRequest
13	StartResponse
14	PubsubOptions
15	KafkaOptions
16	MessageIdentifier
17	CheckRequest
18	CheckResponse
19	ExecuteRequest
20	ExecuteResponse
21*/
22package google_pubsub_loadtest
23
24import proto "github.com/golang/protobuf/proto"
25import fmt "fmt"
26import math "math"
27import google_protobuf "github.com/golang/protobuf/ptypes/duration"
28import google_protobuf1 "github.com/golang/protobuf/ptypes/timestamp"
29
30import (
31	"context"
32
33	grpc "google.golang.org/grpc"
34)
35
36// Reference imports to suppress errors if they are not otherwise used.
37var _ = proto.Marshal
38var _ = fmt.Errorf
39var _ = math.Inf
40
41// This is a compile-time assertion to ensure that this generated file
42// is compatible with the proto package it is being compiled against.
43// A compilation error at this line likely means your copy of the
44// proto package needs to be updated.
45const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
46
47type StartRequest struct {
48	// The GCP project. This must be set even for Kafka, as we use it to export metrics.
49	Project string `protobuf:"bytes,1,opt,name=project" json:"project,omitempty"`
50	// The Pub/Sub or Kafka topic name.
51	Topic string `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
52	// The number of requests that can be made, each second, per client.
53	RequestRate int32 `protobuf:"varint,3,opt,name=request_rate,json=requestRate" json:"request_rate,omitempty"`
54	// The size of each user message to publish
55	MessageSize int32 `protobuf:"varint,4,opt,name=message_size,json=messageSize" json:"message_size,omitempty"`
56	// The maximum outstanding requests, per client.
57	MaxOutstandingRequests int32 `protobuf:"varint,5,opt,name=max_outstanding_requests,json=maxOutstandingRequests" json:"max_outstanding_requests,omitempty"`
58	// The time at which the load test should start. If this is less than the current time, we start immediately.
59	StartTime *google_protobuf1.Timestamp `protobuf:"bytes,6,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
60	// The burn-in duration, before which results should not be reported.
61	BurnInDuration *google_protobuf.Duration `protobuf:"bytes,12,opt,name=burn_in_duration,json=burnInDuration" json:"burn_in_duration,omitempty"`
62	// The number of user messages of size message_size to publish together.
63	PublishBatchSize int32 `protobuf:"varint,11,opt,name=publish_batch_size,json=publishBatchSize" json:"publish_batch_size,omitempty"`
64	// The max duration for coalescing a batch of published messages.
65	PublishBatchDuration *google_protobuf.Duration `protobuf:"bytes,13,opt,name=publish_batch_duration,json=publishBatchDuration" json:"publish_batch_duration,omitempty"`
66	// Types that are valid to be assigned to StopConditions:
67	//	*StartRequest_TestDuration
68	//	*StartRequest_NumberOfMessages
69	StopConditions isStartRequest_StopConditions `protobuf_oneof:"stop_conditions"`
70	// Types that are valid to be assigned to Options:
71	//	*StartRequest_PubsubOptions
72	//	*StartRequest_KafkaOptions
73	Options isStartRequest_Options `protobuf_oneof:"options"`
74}
75
76func (m *StartRequest) Reset()                    { *m = StartRequest{} }
77func (m *StartRequest) String() string            { return proto.CompactTextString(m) }
78func (*StartRequest) ProtoMessage()               {}
79func (*StartRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
80
81type isStartRequest_StopConditions interface {
82	isStartRequest_StopConditions()
83}
84type isStartRequest_Options interface {
85	isStartRequest_Options()
86}
87
88type StartRequest_TestDuration struct {
89	TestDuration *google_protobuf.Duration `protobuf:"bytes,7,opt,name=test_duration,json=testDuration,oneof"`
90}
91type StartRequest_NumberOfMessages struct {
92	NumberOfMessages int32 `protobuf:"varint,8,opt,name=number_of_messages,json=numberOfMessages,oneof"`
93}
94type StartRequest_PubsubOptions struct {
95	PubsubOptions *PubsubOptions `protobuf:"bytes,9,opt,name=pubsub_options,json=pubsubOptions,oneof"`
96}
97type StartRequest_KafkaOptions struct {
98	KafkaOptions *KafkaOptions `protobuf:"bytes,10,opt,name=kafka_options,json=kafkaOptions,oneof"`
99}
100
101func (*StartRequest_TestDuration) isStartRequest_StopConditions()     {}
102func (*StartRequest_NumberOfMessages) isStartRequest_StopConditions() {}
103func (*StartRequest_PubsubOptions) isStartRequest_Options()           {}
104func (*StartRequest_KafkaOptions) isStartRequest_Options()            {}
105
106func (m *StartRequest) GetStopConditions() isStartRequest_StopConditions {
107	if m != nil {
108		return m.StopConditions
109	}
110	return nil
111}
112func (m *StartRequest) GetOptions() isStartRequest_Options {
113	if m != nil {
114		return m.Options
115	}
116	return nil
117}
118
119func (m *StartRequest) GetProject() string {
120	if m != nil {
121		return m.Project
122	}
123	return ""
124}
125
126func (m *StartRequest) GetTopic() string {
127	if m != nil {
128		return m.Topic
129	}
130	return ""
131}
132
133func (m *StartRequest) GetRequestRate() int32 {
134	if m != nil {
135		return m.RequestRate
136	}
137	return 0
138}
139
140func (m *StartRequest) GetMessageSize() int32 {
141	if m != nil {
142		return m.MessageSize
143	}
144	return 0
145}
146
147func (m *StartRequest) GetMaxOutstandingRequests() int32 {
148	if m != nil {
149		return m.MaxOutstandingRequests
150	}
151	return 0
152}
153
154func (m *StartRequest) GetStartTime() *google_protobuf1.Timestamp {
155	if m != nil {
156		return m.StartTime
157	}
158	return nil
159}
160
161func (m *StartRequest) GetBurnInDuration() *google_protobuf.Duration {
162	if m != nil {
163		return m.BurnInDuration
164	}
165	return nil
166}
167
168func (m *StartRequest) GetPublishBatchSize() int32 {
169	if m != nil {
170		return m.PublishBatchSize
171	}
172	return 0
173}
174
175func (m *StartRequest) GetPublishBatchDuration() *google_protobuf.Duration {
176	if m != nil {
177		return m.PublishBatchDuration
178	}
179	return nil
180}
181
182func (m *StartRequest) GetTestDuration() *google_protobuf.Duration {
183	if x, ok := m.GetStopConditions().(*StartRequest_TestDuration); ok {
184		return x.TestDuration
185	}
186	return nil
187}
188
189func (m *StartRequest) GetNumberOfMessages() int32 {
190	if x, ok := m.GetStopConditions().(*StartRequest_NumberOfMessages); ok {
191		return x.NumberOfMessages
192	}
193	return 0
194}
195
196func (m *StartRequest) GetPubsubOptions() *PubsubOptions {
197	if x, ok := m.GetOptions().(*StartRequest_PubsubOptions); ok {
198		return x.PubsubOptions
199	}
200	return nil
201}
202
203func (m *StartRequest) GetKafkaOptions() *KafkaOptions {
204	if x, ok := m.GetOptions().(*StartRequest_KafkaOptions); ok {
205		return x.KafkaOptions
206	}
207	return nil
208}
209
210// XXX_OneofFuncs is for the internal use of the proto package.
211func (*StartRequest) 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{}) {
212	return _StartRequest_OneofMarshaler, _StartRequest_OneofUnmarshaler, _StartRequest_OneofSizer, []interface{}{
213		(*StartRequest_TestDuration)(nil),
214		(*StartRequest_NumberOfMessages)(nil),
215		(*StartRequest_PubsubOptions)(nil),
216		(*StartRequest_KafkaOptions)(nil),
217	}
218}
219
220func _StartRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
221	m := msg.(*StartRequest)
222	// stop_conditions
223	switch x := m.StopConditions.(type) {
224	case *StartRequest_TestDuration:
225		b.EncodeVarint(7<<3 | proto.WireBytes)
226		if err := b.EncodeMessage(x.TestDuration); err != nil {
227			return err
228		}
229	case *StartRequest_NumberOfMessages:
230		b.EncodeVarint(8<<3 | proto.WireVarint)
231		b.EncodeVarint(uint64(x.NumberOfMessages))
232	case nil:
233	default:
234		return fmt.Errorf("StartRequest.StopConditions has unexpected type %T", x)
235	}
236	// options
237	switch x := m.Options.(type) {
238	case *StartRequest_PubsubOptions:
239		b.EncodeVarint(9<<3 | proto.WireBytes)
240		if err := b.EncodeMessage(x.PubsubOptions); err != nil {
241			return err
242		}
243	case *StartRequest_KafkaOptions:
244		b.EncodeVarint(10<<3 | proto.WireBytes)
245		if err := b.EncodeMessage(x.KafkaOptions); err != nil {
246			return err
247		}
248	case nil:
249	default:
250		return fmt.Errorf("StartRequest.Options has unexpected type %T", x)
251	}
252	return nil
253}
254
255func _StartRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
256	m := msg.(*StartRequest)
257	switch tag {
258	case 7: // stop_conditions.test_duration
259		if wire != proto.WireBytes {
260			return true, proto.ErrInternalBadWireType
261		}
262		msg := new(google_protobuf.Duration)
263		err := b.DecodeMessage(msg)
264		m.StopConditions = &StartRequest_TestDuration{msg}
265		return true, err
266	case 8: // stop_conditions.number_of_messages
267		if wire != proto.WireVarint {
268			return true, proto.ErrInternalBadWireType
269		}
270		x, err := b.DecodeVarint()
271		m.StopConditions = &StartRequest_NumberOfMessages{int32(x)}
272		return true, err
273	case 9: // options.pubsub_options
274		if wire != proto.WireBytes {
275			return true, proto.ErrInternalBadWireType
276		}
277		msg := new(PubsubOptions)
278		err := b.DecodeMessage(msg)
279		m.Options = &StartRequest_PubsubOptions{msg}
280		return true, err
281	case 10: // options.kafka_options
282		if wire != proto.WireBytes {
283			return true, proto.ErrInternalBadWireType
284		}
285		msg := new(KafkaOptions)
286		err := b.DecodeMessage(msg)
287		m.Options = &StartRequest_KafkaOptions{msg}
288		return true, err
289	default:
290		return false, nil
291	}
292}
293
294func _StartRequest_OneofSizer(msg proto.Message) (n int) {
295	m := msg.(*StartRequest)
296	// stop_conditions
297	switch x := m.StopConditions.(type) {
298	case *StartRequest_TestDuration:
299		s := proto.Size(x.TestDuration)
300		n += proto.SizeVarint(7<<3 | proto.WireBytes)
301		n += proto.SizeVarint(uint64(s))
302		n += s
303	case *StartRequest_NumberOfMessages:
304		n += proto.SizeVarint(8<<3 | proto.WireVarint)
305		n += proto.SizeVarint(uint64(x.NumberOfMessages))
306	case nil:
307	default:
308		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
309	}
310	// options
311	switch x := m.Options.(type) {
312	case *StartRequest_PubsubOptions:
313		s := proto.Size(x.PubsubOptions)
314		n += proto.SizeVarint(9<<3 | proto.WireBytes)
315		n += proto.SizeVarint(uint64(s))
316		n += s
317	case *StartRequest_KafkaOptions:
318		s := proto.Size(x.KafkaOptions)
319		n += proto.SizeVarint(10<<3 | proto.WireBytes)
320		n += proto.SizeVarint(uint64(s))
321		n += s
322	case nil:
323	default:
324		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
325	}
326	return n
327}
328
329type StartResponse struct {
330}
331
332func (m *StartResponse) Reset()                    { *m = StartResponse{} }
333func (m *StartResponse) String() string            { return proto.CompactTextString(m) }
334func (*StartResponse) ProtoMessage()               {}
335func (*StartResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
336
337type PubsubOptions struct {
338	// The Cloud Pub/Sub subscription name
339	Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
340	// The maximum number of messages to pull which each request.
341	MaxMessagesPerPull int32 `protobuf:"varint,2,opt,name=max_messages_per_pull,json=maxMessagesPerPull" json:"max_messages_per_pull,omitempty"`
342}
343
344func (m *PubsubOptions) Reset()                    { *m = PubsubOptions{} }
345func (m *PubsubOptions) String() string            { return proto.CompactTextString(m) }
346func (*PubsubOptions) ProtoMessage()               {}
347func (*PubsubOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
348
349func (m *PubsubOptions) GetSubscription() string {
350	if m != nil {
351		return m.Subscription
352	}
353	return ""
354}
355
356func (m *PubsubOptions) GetMaxMessagesPerPull() int32 {
357	if m != nil {
358		return m.MaxMessagesPerPull
359	}
360	return 0
361}
362
363type KafkaOptions struct {
364	// The network address of the Kafka broker.
365	Broker string `protobuf:"bytes,1,opt,name=broker" json:"broker,omitempty"`
366	// The length of time to poll for.
367	PollDuration *google_protobuf.Duration `protobuf:"bytes,2,opt,name=poll_duration,json=pollDuration" json:"poll_duration,omitempty"`
368}
369
370func (m *KafkaOptions) Reset()                    { *m = KafkaOptions{} }
371func (m *KafkaOptions) String() string            { return proto.CompactTextString(m) }
372func (*KafkaOptions) ProtoMessage()               {}
373func (*KafkaOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
374
375func (m *KafkaOptions) GetBroker() string {
376	if m != nil {
377		return m.Broker
378	}
379	return ""
380}
381
382func (m *KafkaOptions) GetPollDuration() *google_protobuf.Duration {
383	if m != nil {
384		return m.PollDuration
385	}
386	return nil
387}
388
389type MessageIdentifier struct {
390	// The unique id of the client that published the message.
391	PublisherClientId int64 `protobuf:"varint,1,opt,name=publisher_client_id,json=publisherClientId" json:"publisher_client_id,omitempty"`
392	// Sequence number of the published message with the given publish_client_id.
393	SequenceNumber int32 `protobuf:"varint,2,opt,name=sequence_number,json=sequenceNumber" json:"sequence_number,omitempty"`
394}
395
396func (m *MessageIdentifier) Reset()                    { *m = MessageIdentifier{} }
397func (m *MessageIdentifier) String() string            { return proto.CompactTextString(m) }
398func (*MessageIdentifier) ProtoMessage()               {}
399func (*MessageIdentifier) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
400
401func (m *MessageIdentifier) GetPublisherClientId() int64 {
402	if m != nil {
403		return m.PublisherClientId
404	}
405	return 0
406}
407
408func (m *MessageIdentifier) GetSequenceNumber() int32 {
409	if m != nil {
410		return m.SequenceNumber
411	}
412	return 0
413}
414
415type CheckRequest struct {
416	// Duplicate messages that should not be reported for throughput and latency.
417	Duplicates []*MessageIdentifier `protobuf:"bytes,1,rep,name=duplicates" json:"duplicates,omitempty"`
418}
419
420func (m *CheckRequest) Reset()                    { *m = CheckRequest{} }
421func (m *CheckRequest) String() string            { return proto.CompactTextString(m) }
422func (*CheckRequest) ProtoMessage()               {}
423func (*CheckRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
424
425func (m *CheckRequest) GetDuplicates() []*MessageIdentifier {
426	if m != nil {
427		return m.Duplicates
428	}
429	return nil
430}
431
432type CheckResponse struct {
433	// Histogram of latencies, each one a delta from the previous CheckResponse sent.
434	BucketValues []int64 `protobuf:"varint,1,rep,packed,name=bucket_values,json=bucketValues" json:"bucket_values,omitempty"`
435	// The duration from the start of the loadtest to its completion or now if is_finished is false.
436	RunningDuration *google_protobuf.Duration `protobuf:"bytes,2,opt,name=running_duration,json=runningDuration" json:"running_duration,omitempty"`
437	// True if the load test has finished running.
438	IsFinished bool `protobuf:"varint,3,opt,name=is_finished,json=isFinished" json:"is_finished,omitempty"`
439	// MessageIdentifiers of all received messages since the last Check
440	ReceivedMessages []*MessageIdentifier `protobuf:"bytes,4,rep,name=received_messages,json=receivedMessages" json:"received_messages,omitempty"`
441}
442
443func (m *CheckResponse) Reset()                    { *m = CheckResponse{} }
444func (m *CheckResponse) String() string            { return proto.CompactTextString(m) }
445func (*CheckResponse) ProtoMessage()               {}
446func (*CheckResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
447
448func (m *CheckResponse) GetBucketValues() []int64 {
449	if m != nil {
450		return m.BucketValues
451	}
452	return nil
453}
454
455func (m *CheckResponse) GetRunningDuration() *google_protobuf.Duration {
456	if m != nil {
457		return m.RunningDuration
458	}
459	return nil
460}
461
462func (m *CheckResponse) GetIsFinished() bool {
463	if m != nil {
464		return m.IsFinished
465	}
466	return false
467}
468
469func (m *CheckResponse) GetReceivedMessages() []*MessageIdentifier {
470	if m != nil {
471		return m.ReceivedMessages
472	}
473	return nil
474}
475
476type ExecuteRequest struct {
477}
478
479func (m *ExecuteRequest) Reset()                    { *m = ExecuteRequest{} }
480func (m *ExecuteRequest) String() string            { return proto.CompactTextString(m) }
481func (*ExecuteRequest) ProtoMessage()               {}
482func (*ExecuteRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
483
484type ExecuteResponse struct {
485	// Latencies of the completed operations
486	Latencies []int64 `protobuf:"varint,1,rep,packed,name=latencies" json:"latencies,omitempty"`
487	// MessageIdentifiers of all received messages since the last Execute
488	ReceivedMessages []*MessageIdentifier `protobuf:"bytes,2,rep,name=received_messages,json=receivedMessages" json:"received_messages,omitempty"`
489}
490
491func (m *ExecuteResponse) Reset()                    { *m = ExecuteResponse{} }
492func (m *ExecuteResponse) String() string            { return proto.CompactTextString(m) }
493func (*ExecuteResponse) ProtoMessage()               {}
494func (*ExecuteResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
495
496func (m *ExecuteResponse) GetLatencies() []int64 {
497	if m != nil {
498		return m.Latencies
499	}
500	return nil
501}
502
503func (m *ExecuteResponse) GetReceivedMessages() []*MessageIdentifier {
504	if m != nil {
505		return m.ReceivedMessages
506	}
507	return nil
508}
509
510func init() {
511	proto.RegisterType((*StartRequest)(nil), "google.pubsub.loadtest.StartRequest")
512	proto.RegisterType((*StartResponse)(nil), "google.pubsub.loadtest.StartResponse")
513	proto.RegisterType((*PubsubOptions)(nil), "google.pubsub.loadtest.PubsubOptions")
514	proto.RegisterType((*KafkaOptions)(nil), "google.pubsub.loadtest.KafkaOptions")
515	proto.RegisterType((*MessageIdentifier)(nil), "google.pubsub.loadtest.MessageIdentifier")
516	proto.RegisterType((*CheckRequest)(nil), "google.pubsub.loadtest.CheckRequest")
517	proto.RegisterType((*CheckResponse)(nil), "google.pubsub.loadtest.CheckResponse")
518	proto.RegisterType((*ExecuteRequest)(nil), "google.pubsub.loadtest.ExecuteRequest")
519	proto.RegisterType((*ExecuteResponse)(nil), "google.pubsub.loadtest.ExecuteResponse")
520}
521
522// Reference imports to suppress errors if they are not otherwise used.
523var _ context.Context
524var _ grpc.ClientConn
525
526// This is a compile-time assertion to ensure that this generated file
527// is compatible with the grpc package it is being compiled against.
528const _ = grpc.SupportPackageIsVersion4
529
530// Client API for Loadtest service
531
532type LoadtestClient interface {
533	// Starts a load test
534	Start(ctx context.Context, in *StartRequest, opts ...grpc.CallOption) (*StartResponse, error)
535	// Checks the status of a load test
536	Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error)
537}
538
539type loadtestClient struct {
540	cc *grpc.ClientConn
541}
542
543func NewLoadtestClient(cc *grpc.ClientConn) LoadtestClient {
544	return &loadtestClient{cc}
545}
546
547func (c *loadtestClient) Start(ctx context.Context, in *StartRequest, opts ...grpc.CallOption) (*StartResponse, error) {
548	out := new(StartResponse)
549	err := grpc.Invoke(ctx, "/google.pubsub.loadtest.Loadtest/Start", in, out, c.cc, opts...)
550	if err != nil {
551		return nil, err
552	}
553	return out, nil
554}
555
556func (c *loadtestClient) Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error) {
557	out := new(CheckResponse)
558	err := grpc.Invoke(ctx, "/google.pubsub.loadtest.Loadtest/Check", in, out, c.cc, opts...)
559	if err != nil {
560		return nil, err
561	}
562	return out, nil
563}
564
565// Server API for Loadtest service
566
567type LoadtestServer interface {
568	// Starts a load test
569	Start(context.Context, *StartRequest) (*StartResponse, error)
570	// Checks the status of a load test
571	Check(context.Context, *CheckRequest) (*CheckResponse, error)
572}
573
574func RegisterLoadtestServer(s *grpc.Server, srv LoadtestServer) {
575	s.RegisterService(&_Loadtest_serviceDesc, srv)
576}
577
578func _Loadtest_Start_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
579	in := new(StartRequest)
580	if err := dec(in); err != nil {
581		return nil, err
582	}
583	if interceptor == nil {
584		return srv.(LoadtestServer).Start(ctx, in)
585	}
586	info := &grpc.UnaryServerInfo{
587		Server:     srv,
588		FullMethod: "/google.pubsub.loadtest.Loadtest/Start",
589	}
590	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
591		return srv.(LoadtestServer).Start(ctx, req.(*StartRequest))
592	}
593	return interceptor(ctx, in, info, handler)
594}
595
596func _Loadtest_Check_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
597	in := new(CheckRequest)
598	if err := dec(in); err != nil {
599		return nil, err
600	}
601	if interceptor == nil {
602		return srv.(LoadtestServer).Check(ctx, in)
603	}
604	info := &grpc.UnaryServerInfo{
605		Server:     srv,
606		FullMethod: "/google.pubsub.loadtest.Loadtest/Check",
607	}
608	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
609		return srv.(LoadtestServer).Check(ctx, req.(*CheckRequest))
610	}
611	return interceptor(ctx, in, info, handler)
612}
613
614var _Loadtest_serviceDesc = grpc.ServiceDesc{
615	ServiceName: "google.pubsub.loadtest.Loadtest",
616	HandlerType: (*LoadtestServer)(nil),
617	Methods: []grpc.MethodDesc{
618		{
619			MethodName: "Start",
620			Handler:    _Loadtest_Start_Handler,
621		},
622		{
623			MethodName: "Check",
624			Handler:    _Loadtest_Check_Handler,
625		},
626	},
627	Streams:  []grpc.StreamDesc{},
628	Metadata: "loadtest.proto",
629}
630
631// Client API for LoadtestWorker service
632
633type LoadtestWorkerClient interface {
634	// Starts a worker
635	Start(ctx context.Context, in *StartRequest, opts ...grpc.CallOption) (*StartResponse, error)
636	// Executes a command on the worker, returning the latencies of the operations. Since some
637	// commands consist of multiple operations (i.e. pulls contain many received messages with
638	// different end to end latencies) a single command can have multiple latencies returned.
639	Execute(ctx context.Context, in *ExecuteRequest, opts ...grpc.CallOption) (*ExecuteResponse, error)
640}
641
642type loadtestWorkerClient struct {
643	cc *grpc.ClientConn
644}
645
646func NewLoadtestWorkerClient(cc *grpc.ClientConn) LoadtestWorkerClient {
647	return &loadtestWorkerClient{cc}
648}
649
650func (c *loadtestWorkerClient) Start(ctx context.Context, in *StartRequest, opts ...grpc.CallOption) (*StartResponse, error) {
651	out := new(StartResponse)
652	err := grpc.Invoke(ctx, "/google.pubsub.loadtest.LoadtestWorker/Start", in, out, c.cc, opts...)
653	if err != nil {
654		return nil, err
655	}
656	return out, nil
657}
658
659func (c *loadtestWorkerClient) Execute(ctx context.Context, in *ExecuteRequest, opts ...grpc.CallOption) (*ExecuteResponse, error) {
660	out := new(ExecuteResponse)
661	err := grpc.Invoke(ctx, "/google.pubsub.loadtest.LoadtestWorker/Execute", in, out, c.cc, opts...)
662	if err != nil {
663		return nil, err
664	}
665	return out, nil
666}
667
668// Server API for LoadtestWorker service
669
670type LoadtestWorkerServer interface {
671	// Starts a worker
672	Start(context.Context, *StartRequest) (*StartResponse, error)
673	// Executes a command on the worker, returning the latencies of the operations. Since some
674	// commands consist of multiple operations (i.e. pulls contain many received messages with
675	// different end to end latencies) a single command can have multiple latencies returned.
676	Execute(context.Context, *ExecuteRequest) (*ExecuteResponse, error)
677}
678
679func RegisterLoadtestWorkerServer(s *grpc.Server, srv LoadtestWorkerServer) {
680	s.RegisterService(&_LoadtestWorker_serviceDesc, srv)
681}
682
683func _LoadtestWorker_Start_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
684	in := new(StartRequest)
685	if err := dec(in); err != nil {
686		return nil, err
687	}
688	if interceptor == nil {
689		return srv.(LoadtestWorkerServer).Start(ctx, in)
690	}
691	info := &grpc.UnaryServerInfo{
692		Server:     srv,
693		FullMethod: "/google.pubsub.loadtest.LoadtestWorker/Start",
694	}
695	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
696		return srv.(LoadtestWorkerServer).Start(ctx, req.(*StartRequest))
697	}
698	return interceptor(ctx, in, info, handler)
699}
700
701func _LoadtestWorker_Execute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
702	in := new(ExecuteRequest)
703	if err := dec(in); err != nil {
704		return nil, err
705	}
706	if interceptor == nil {
707		return srv.(LoadtestWorkerServer).Execute(ctx, in)
708	}
709	info := &grpc.UnaryServerInfo{
710		Server:     srv,
711		FullMethod: "/google.pubsub.loadtest.LoadtestWorker/Execute",
712	}
713	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
714		return srv.(LoadtestWorkerServer).Execute(ctx, req.(*ExecuteRequest))
715	}
716	return interceptor(ctx, in, info, handler)
717}
718
719var _LoadtestWorker_serviceDesc = grpc.ServiceDesc{
720	ServiceName: "google.pubsub.loadtest.LoadtestWorker",
721	HandlerType: (*LoadtestWorkerServer)(nil),
722	Methods: []grpc.MethodDesc{
723		{
724			MethodName: "Start",
725			Handler:    _LoadtestWorker_Start_Handler,
726		},
727		{
728			MethodName: "Execute",
729			Handler:    _LoadtestWorker_Execute_Handler,
730		},
731	},
732	Streams:  []grpc.StreamDesc{},
733	Metadata: "loadtest.proto",
734}
735
736func init() { proto.RegisterFile("loadtest.proto", fileDescriptor0) }
737
738var fileDescriptor0 = []byte{
739	// 847 bytes of a gzipped FileDescriptorProto
740	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0xdd, 0x6e, 0xdc, 0x44,
741	0x14, 0xae, 0x93, 0x6e, 0x92, 0x3d, 0x6b, 0xef, 0x6e, 0x86, 0x12, 0x99, 0x15, 0xd0, 0x60, 0x28,
742	0x0d, 0x12, 0x72, 0x45, 0xb8, 0x81, 0x1b, 0x84, 0x92, 0x82, 0x12, 0x15, 0x9a, 0xc8, 0x8d, 0x8a,
743	0xe0, 0x66, 0x34, 0xb6, 0x67, 0x93, 0x61, 0xed, 0x19, 0x33, 0x3f, 0x55, 0xd4, 0x17, 0xe0, 0x8d,
744	0x78, 0x00, 0x1e, 0x87, 0x5b, 0x5e, 0x00, 0xcd, 0x78, 0xbc, 0x3f, 0x6d, 0x57, 0x0b, 0x42, 0xbd,
745	0x3c, 0xdf, 0xf9, 0xce, 0x37, 0xe7, 0xd7, 0x86, 0x61, 0x25, 0x48, 0xa9, 0xa9, 0xd2, 0x69, 0x23,
746	0x85, 0x16, 0xe8, 0xe0, 0x5a, 0x88, 0xeb, 0x8a, 0xa6, 0x8d, 0xc9, 0x95, 0xc9, 0xd3, 0xce, 0x3b,
747	0xf9, 0xb0, 0xc5, 0x1f, 0x39, 0x56, 0x6e, 0xa6, 0x8f, 0x4a, 0x23, 0x89, 0x66, 0x82, 0xb7, 0x71,
748	0x93, 0xfb, 0xaf, 0xfa, 0x35, 0xab, 0xa9, 0xd2, 0xa4, 0x6e, 0x5a, 0x42, 0xf2, 0x57, 0x0f, 0xc2,
749	0x67, 0x9a, 0x48, 0x9d, 0xd1, 0xdf, 0x0c, 0x55, 0x1a, 0xc5, 0xb0, 0xdb, 0x48, 0xf1, 0x2b, 0x2d,
750	0x74, 0x1c, 0x1c, 0x06, 0x47, 0xfd, 0xac, 0x33, 0xd1, 0x3d, 0xe8, 0x69, 0xd1, 0xb0, 0x22, 0xde,
751	0x72, 0x78, 0x6b, 0xa0, 0x8f, 0x20, 0x94, 0x6d, 0x28, 0x96, 0x44, 0xd3, 0x78, 0xfb, 0x30, 0x38,
752	0xea, 0x65, 0x03, 0x8f, 0x65, 0x44, 0x53, 0x4b, 0xa9, 0xa9, 0x52, 0xe4, 0x9a, 0x62, 0xc5, 0x5e,
753	0xd2, 0xf8, 0x6e, 0x4b, 0xf1, 0xd8, 0x33, 0xf6, 0x92, 0xa2, 0xaf, 0x20, 0xae, 0xc9, 0x2d, 0x16,
754	0x46, 0x2b, 0x4d, 0x78, 0xc9, 0xf8, 0x35, 0xf6, 0x0a, 0x2a, 0xee, 0x39, 0xfa, 0x41, 0x4d, 0x6e,
755	0x2f, 0x16, 0x6e, 0x9f, 0xae, 0x42, 0x5f, 0x03, 0x28, 0x9b, 0x3f, 0xb6, 0x95, 0xc5, 0x3b, 0x87,
756	0xc1, 0xd1, 0xe0, 0x78, 0x92, 0x76, 0xed, 0xf2, 0x65, 0xa7, 0x57, 0x5d, 0xd9, 0x59, 0xdf, 0xb1,
757	0xad, 0x8d, 0x4e, 0x61, 0x9c, 0x1b, 0xc9, 0x31, 0xe3, 0xb8, 0x6b, 0x5b, 0x1c, 0x3a, 0x81, 0xf7,
758	0x5e, 0x13, 0x78, 0xec, 0x09, 0xd9, 0xd0, 0x86, 0x9c, 0xf3, 0xce, 0x46, 0x9f, 0x03, 0x6a, 0x4c,
759	0x5e, 0x31, 0x75, 0x83, 0x73, 0xa2, 0x8b, 0x9b, 0xb6, 0xc4, 0x81, 0xcb, 0x79, 0xec, 0x3d, 0x27,
760	0xd6, 0xe1, 0xea, 0xbc, 0x80, 0x83, 0x55, 0xf6, 0xfc, 0xe1, 0x68, 0xd3, 0xc3, 0xf7, 0x96, 0xc5,
761	0xe6, 0xcf, 0x7f, 0x0b, 0x91, 0x5d, 0x84, 0x85, 0xce, 0xee, 0x06, 0x9d, 0xb3, 0x3b, 0x59, 0x68,
762	0x23, 0xe6, 0x0a, 0x29, 0x20, 0x6e, 0xea, 0x9c, 0x4a, 0x2c, 0xa6, 0xd8, 0xcf, 0x44, 0xc5, 0x7b,
763	0xb6, 0x80, 0xb3, 0x3b, 0xd9, 0xb8, 0xf5, 0x5d, 0x4c, 0x7f, 0xf4, 0x1e, 0xf4, 0x14, 0x86, 0xed,
764	0x16, 0x62, 0xd1, 0x58, 0x01, 0x15, 0xf7, 0xdd, 0x93, 0x0f, 0xd2, 0x37, 0xef, 0x68, 0x7a, 0xe9,
765	0xec, 0x8b, 0x96, 0x7c, 0x16, 0x64, 0x51, 0xb3, 0x0c, 0xa0, 0x27, 0x10, 0xcd, 0xc8, 0x74, 0x46,
766	0xe6, 0x72, 0xe0, 0xe4, 0x3e, 0x59, 0x27, 0xf7, 0xc4, 0x92, 0x17, 0x6a, 0xe1, 0x6c, 0xc9, 0x3e,
767	0xd9, 0x87, 0x91, 0xd2, 0xa2, 0xc1, 0x85, 0xe0, 0x25, 0x6b, 0xa1, 0x3e, 0xec, 0x7a, 0xe5, 0x64,
768	0x04, 0x91, 0xdf, 0x75, 0xd5, 0x08, 0xae, 0x68, 0x32, 0x85, 0x68, 0x25, 0x3b, 0x94, 0x40, 0xa8,
769	0x4c, 0xae, 0x0a, 0xc9, 0x1c, 0xe0, 0x4f, 0x60, 0x05, 0x43, 0x5f, 0xc0, 0xbb, 0x76, 0x57, 0xbb,
770	0x56, 0xe1, 0x86, 0x4a, 0xdc, 0x98, 0xaa, 0x72, 0x77, 0xd1, 0xcb, 0x50, 0x4d, 0x6e, 0xbb, 0x66,
771	0x5d, 0x52, 0x79, 0x69, 0xaa, 0x2a, 0x99, 0x42, 0xb8, 0x9c, 0x36, 0x3a, 0x80, 0x9d, 0x5c, 0x8a,
772	0x19, 0x95, 0xfe, 0x01, 0x6f, 0xa1, 0x6f, 0x20, 0x6a, 0x44, 0x55, 0x2d, 0xa6, 0xb9, 0xb5, 0x69,
773	0x2b, 0x42, 0xcb, 0xef, 0xac, 0xa4, 0x82, 0x7d, 0xff, 0xf4, 0x79, 0x49, 0xb9, 0x66, 0x53, 0x46,
774	0x25, 0x4a, 0xe1, 0x1d, 0xbf, 0x3a, 0x54, 0xe2, 0xa2, 0x62, 0x94, 0x6b, 0xcc, 0x4a, 0xf7, 0xf2,
775	0x76, 0xb6, 0x3f, 0x77, 0x9d, 0x3a, 0xcf, 0x79, 0x89, 0x1e, 0xc2, 0x48, 0xd9, 0xeb, 0xe2, 0x05,
776	0xc5, 0xed, 0xf4, 0x7d, 0x65, 0xc3, 0x0e, 0x7e, 0xea, 0xd0, 0xe4, 0x67, 0x08, 0x4f, 0x6f, 0x68,
777	0x31, 0xeb, 0x3e, 0x1d, 0xe7, 0x00, 0xa5, 0x69, 0x2a, 0x56, 0x10, 0x4d, 0x55, 0x1c, 0x1c, 0x6e,
778	0x1f, 0x0d, 0x8e, 0x3f, 0x5b, 0x37, 0xc6, 0xd7, 0xf2, 0xcc, 0x96, 0x82, 0x93, 0xbf, 0x03, 0x88,
779	0xbc, 0x76, 0x3b, 0x2a, 0xf4, 0x31, 0x44, 0xb9, 0x29, 0x66, 0x54, 0xe3, 0x17, 0xa4, 0x32, 0x5e,
780	0x7f, 0x3b, 0x0b, 0x5b, 0xf0, 0xb9, 0xc3, 0xd0, 0x63, 0x18, 0x4b, 0xc3, 0xb9, 0xfd, 0x7c, 0xfc,
781	0xfb, 0x16, 0x8e, 0x7c, 0xc8, 0xfc, 0x22, 0xee, 0xc3, 0x80, 0x29, 0x3c, 0x65, 0xdc, 0xf6, 0xa5,
782	0x74, 0x5f, 0xb4, 0xbd, 0x0c, 0x98, 0xfa, 0xde, 0x23, 0xe8, 0x39, 0xec, 0x4b, 0x5a, 0x50, 0xf6,
783	0x82, 0x96, 0x8b, 0x8b, 0xb9, 0xfb, 0x5f, 0xeb, 0x1d, 0x77, 0x1a, 0xdd, 0xb6, 0x24, 0x63, 0x18,
784	0x7e, 0x77, 0x4b, 0x0b, 0xa3, 0xa9, 0x6f, 0x69, 0xf2, 0x7b, 0x00, 0xa3, 0x39, 0xe4, 0x3b, 0xf1,
785	0x3e, 0xf4, 0x2b, 0xa2, 0x29, 0x2f, 0xd8, 0xbc, 0x0b, 0x0b, 0xe0, 0xcd, 0xb9, 0x6d, 0xfd, 0xef,
786	0xdc, 0x8e, 0xff, 0x08, 0x60, 0xef, 0x07, 0x1f, 0x80, 0xae, 0xa0, 0xe7, 0x0e, 0x09, 0xad, 0xbd,
787	0xd2, 0xe5, 0x7f, 0xca, 0xe4, 0xc1, 0x06, 0x96, 0x2f, 0xec, 0x0a, 0x7a, 0x6e, 0xe6, 0xeb, 0x55,
788	0x97, 0xd7, 0x6d, 0xbd, 0xea, 0xca, 0xe2, 0x1c, 0xff, 0x19, 0xc0, 0xb0, 0x4b, 0xfc, 0x27, 0x21,
789	0xed, 0x99, 0xbd, 0x9d, 0xf4, 0x7f, 0x81, 0x5d, 0x3f, 0x2a, 0xf4, 0xe9, 0xba, 0x88, 0xd5, 0xf1,
790	0x4e, 0x1e, 0x6e, 0xe4, 0xb5, 0xda, 0x27, 0x29, 0x7c, 0x50, 0x88, 0xfa, 0x15, 0xf6, 0xb4, 0x62,
791	0x45, 0x5a, 0x88, 0xba, 0x16, 0xfc, 0x24, 0xea, 0x4a, 0xbc, 0x74, 0xfb, 0xbd, 0xe3, 0xd6, 0xfc,
792	0xcb, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xc4, 0xfc, 0xdc, 0x27, 0x48, 0x08, 0x00, 0x00,
793}
794