OSDN Git Service

new repo
[bytom/vapor.git] / vendor / google.golang.org / genproto / googleapis / pubsub / v1 / pubsub.pb.go
1 // Code generated by protoc-gen-go. DO NOT EDIT.
2 // source: google/pubsub/v1/pubsub.proto
3
4 /*
5 Package pubsub is a generated protocol buffer package.
6
7 It is generated from these files:
8         google/pubsub/v1/pubsub.proto
9
10 It has these top-level messages:
11         Topic
12         PubsubMessage
13         GetTopicRequest
14         UpdateTopicRequest
15         PublishRequest
16         PublishResponse
17         ListTopicsRequest
18         ListTopicsResponse
19         ListTopicSubscriptionsRequest
20         ListTopicSubscriptionsResponse
21         DeleteTopicRequest
22         Subscription
23         PushConfig
24         ReceivedMessage
25         GetSubscriptionRequest
26         UpdateSubscriptionRequest
27         ListSubscriptionsRequest
28         ListSubscriptionsResponse
29         DeleteSubscriptionRequest
30         ModifyPushConfigRequest
31         PullRequest
32         PullResponse
33         ModifyAckDeadlineRequest
34         AcknowledgeRequest
35         StreamingPullRequest
36         StreamingPullResponse
37         CreateSnapshotRequest
38         UpdateSnapshotRequest
39         Snapshot
40         ListSnapshotsRequest
41         ListSnapshotsResponse
42         DeleteSnapshotRequest
43         SeekRequest
44         SeekResponse
45 */
46 package pubsub
47
48 import proto "github.com/golang/protobuf/proto"
49 import fmt "fmt"
50 import math "math"
51 import _ "google.golang.org/genproto/googleapis/api/annotations"
52 import google_protobuf1 "github.com/golang/protobuf/ptypes/duration"
53 import google_protobuf2 "github.com/golang/protobuf/ptypes/empty"
54 import google_protobuf3 "google.golang.org/genproto/protobuf/field_mask"
55 import google_protobuf4 "github.com/golang/protobuf/ptypes/timestamp"
56
57 import (
58         context "golang.org/x/net/context"
59         grpc "google.golang.org/grpc"
60 )
61
62 // Reference imports to suppress errors if they are not otherwise used.
63 var _ = proto.Marshal
64 var _ = fmt.Errorf
65 var _ = math.Inf
66
67 // This is a compile-time assertion to ensure that this generated file
68 // is compatible with the proto package it is being compiled against.
69 // A compilation error at this line likely means your copy of the
70 // proto package needs to be updated.
71 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
72
73 // A topic resource.
74 type Topic struct {
75         // The name of the topic. It must have the format
76         // `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
77         // and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
78         // underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
79         // signs (`%`). It must be between 3 and 255 characters in length, and it
80         // must not start with `"goog"`.
81         Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
82         // User labels.
83         Labels map[string]string `protobuf:"bytes,2,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
84 }
85
86 func (m *Topic) Reset()                    { *m = Topic{} }
87 func (m *Topic) String() string            { return proto.CompactTextString(m) }
88 func (*Topic) ProtoMessage()               {}
89 func (*Topic) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
90
91 func (m *Topic) GetName() string {
92         if m != nil {
93                 return m.Name
94         }
95         return ""
96 }
97
98 func (m *Topic) GetLabels() map[string]string {
99         if m != nil {
100                 return m.Labels
101         }
102         return nil
103 }
104
105 // A message data and its attributes. The message payload must not be empty;
106 // it must contain either a non-empty data field, or at least one attribute.
107 type PubsubMessage struct {
108         // The message payload.
109         Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
110         // Optional attributes for this message.
111         Attributes map[string]string `protobuf:"bytes,2,rep,name=attributes" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
112         // ID of this message, assigned by the server when the message is published.
113         // Guaranteed to be unique within the topic. This value may be read by a
114         // subscriber that receives a `PubsubMessage` via a `Pull` call or a push
115         // delivery. It must not be populated by the publisher in a `Publish` call.
116         MessageId string `protobuf:"bytes,3,opt,name=message_id,json=messageId" json:"message_id,omitempty"`
117         // The time at which the message was published, populated by the server when
118         // it receives the `Publish` call. It must not be populated by the
119         // publisher in a `Publish` call.
120         PublishTime *google_protobuf4.Timestamp `protobuf:"bytes,4,opt,name=publish_time,json=publishTime" json:"publish_time,omitempty"`
121 }
122
123 func (m *PubsubMessage) Reset()                    { *m = PubsubMessage{} }
124 func (m *PubsubMessage) String() string            { return proto.CompactTextString(m) }
125 func (*PubsubMessage) ProtoMessage()               {}
126 func (*PubsubMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
127
128 func (m *PubsubMessage) GetData() []byte {
129         if m != nil {
130                 return m.Data
131         }
132         return nil
133 }
134
135 func (m *PubsubMessage) GetAttributes() map[string]string {
136         if m != nil {
137                 return m.Attributes
138         }
139         return nil
140 }
141
142 func (m *PubsubMessage) GetMessageId() string {
143         if m != nil {
144                 return m.MessageId
145         }
146         return ""
147 }
148
149 func (m *PubsubMessage) GetPublishTime() *google_protobuf4.Timestamp {
150         if m != nil {
151                 return m.PublishTime
152         }
153         return nil
154 }
155
156 // Request for the GetTopic method.
157 type GetTopicRequest struct {
158         // The name of the topic to get.
159         // Format is `projects/{project}/topics/{topic}`.
160         Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
161 }
162
163 func (m *GetTopicRequest) Reset()                    { *m = GetTopicRequest{} }
164 func (m *GetTopicRequest) String() string            { return proto.CompactTextString(m) }
165 func (*GetTopicRequest) ProtoMessage()               {}
166 func (*GetTopicRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
167
168 func (m *GetTopicRequest) GetTopic() string {
169         if m != nil {
170                 return m.Topic
171         }
172         return ""
173 }
174
175 // Request for the UpdateTopic method.
176 type UpdateTopicRequest struct {
177         // The topic to update.
178         Topic *Topic `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
179         // Indicates which fields in the provided topic to update.
180         // Must be specified and non-empty.
181         UpdateMask *google_protobuf3.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask" json:"update_mask,omitempty"`
182 }
183
184 func (m *UpdateTopicRequest) Reset()                    { *m = UpdateTopicRequest{} }
185 func (m *UpdateTopicRequest) String() string            { return proto.CompactTextString(m) }
186 func (*UpdateTopicRequest) ProtoMessage()               {}
187 func (*UpdateTopicRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
188
189 func (m *UpdateTopicRequest) GetTopic() *Topic {
190         if m != nil {
191                 return m.Topic
192         }
193         return nil
194 }
195
196 func (m *UpdateTopicRequest) GetUpdateMask() *google_protobuf3.FieldMask {
197         if m != nil {
198                 return m.UpdateMask
199         }
200         return nil
201 }
202
203 // Request for the Publish method.
204 type PublishRequest struct {
205         // The messages in the request will be published on this topic.
206         // Format is `projects/{project}/topics/{topic}`.
207         Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
208         // The messages to publish.
209         Messages []*PubsubMessage `protobuf:"bytes,2,rep,name=messages" json:"messages,omitempty"`
210 }
211
212 func (m *PublishRequest) Reset()                    { *m = PublishRequest{} }
213 func (m *PublishRequest) String() string            { return proto.CompactTextString(m) }
214 func (*PublishRequest) ProtoMessage()               {}
215 func (*PublishRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
216
217 func (m *PublishRequest) GetTopic() string {
218         if m != nil {
219                 return m.Topic
220         }
221         return ""
222 }
223
224 func (m *PublishRequest) GetMessages() []*PubsubMessage {
225         if m != nil {
226                 return m.Messages
227         }
228         return nil
229 }
230
231 // Response for the `Publish` method.
232 type PublishResponse struct {
233         // The server-assigned ID of each published message, in the same order as
234         // the messages in the request. IDs are guaranteed to be unique within
235         // the topic.
236         MessageIds []string `protobuf:"bytes,1,rep,name=message_ids,json=messageIds" json:"message_ids,omitempty"`
237 }
238
239 func (m *PublishResponse) Reset()                    { *m = PublishResponse{} }
240 func (m *PublishResponse) String() string            { return proto.CompactTextString(m) }
241 func (*PublishResponse) ProtoMessage()               {}
242 func (*PublishResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
243
244 func (m *PublishResponse) GetMessageIds() []string {
245         if m != nil {
246                 return m.MessageIds
247         }
248         return nil
249 }
250
251 // Request for the `ListTopics` method.
252 type ListTopicsRequest struct {
253         // The name of the cloud project that topics belong to.
254         // Format is `projects/{project}`.
255         Project string `protobuf:"bytes,1,opt,name=project" json:"project,omitempty"`
256         // Maximum number of topics to return.
257         PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
258         // The value returned by the last `ListTopicsResponse`; indicates that this is
259         // a continuation of a prior `ListTopics` call, and that the system should
260         // return the next page of data.
261         PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
262 }
263
264 func (m *ListTopicsRequest) Reset()                    { *m = ListTopicsRequest{} }
265 func (m *ListTopicsRequest) String() string            { return proto.CompactTextString(m) }
266 func (*ListTopicsRequest) ProtoMessage()               {}
267 func (*ListTopicsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
268
269 func (m *ListTopicsRequest) GetProject() string {
270         if m != nil {
271                 return m.Project
272         }
273         return ""
274 }
275
276 func (m *ListTopicsRequest) GetPageSize() int32 {
277         if m != nil {
278                 return m.PageSize
279         }
280         return 0
281 }
282
283 func (m *ListTopicsRequest) GetPageToken() string {
284         if m != nil {
285                 return m.PageToken
286         }
287         return ""
288 }
289
290 // Response for the `ListTopics` method.
291 type ListTopicsResponse struct {
292         // The resulting topics.
293         Topics []*Topic `protobuf:"bytes,1,rep,name=topics" json:"topics,omitempty"`
294         // If not empty, indicates that there may be more topics that match the
295         // request; this value should be passed in a new `ListTopicsRequest`.
296         NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
297 }
298
299 func (m *ListTopicsResponse) Reset()                    { *m = ListTopicsResponse{} }
300 func (m *ListTopicsResponse) String() string            { return proto.CompactTextString(m) }
301 func (*ListTopicsResponse) ProtoMessage()               {}
302 func (*ListTopicsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
303
304 func (m *ListTopicsResponse) GetTopics() []*Topic {
305         if m != nil {
306                 return m.Topics
307         }
308         return nil
309 }
310
311 func (m *ListTopicsResponse) GetNextPageToken() string {
312         if m != nil {
313                 return m.NextPageToken
314         }
315         return ""
316 }
317
318 // Request for the `ListTopicSubscriptions` method.
319 type ListTopicSubscriptionsRequest struct {
320         // The name of the topic that subscriptions are attached to.
321         // Format is `projects/{project}/topics/{topic}`.
322         Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
323         // Maximum number of subscription names to return.
324         PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
325         // The value returned by the last `ListTopicSubscriptionsResponse`; indicates
326         // that this is a continuation of a prior `ListTopicSubscriptions` call, and
327         // that the system should return the next page of data.
328         PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
329 }
330
331 func (m *ListTopicSubscriptionsRequest) Reset()                    { *m = ListTopicSubscriptionsRequest{} }
332 func (m *ListTopicSubscriptionsRequest) String() string            { return proto.CompactTextString(m) }
333 func (*ListTopicSubscriptionsRequest) ProtoMessage()               {}
334 func (*ListTopicSubscriptionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
335
336 func (m *ListTopicSubscriptionsRequest) GetTopic() string {
337         if m != nil {
338                 return m.Topic
339         }
340         return ""
341 }
342
343 func (m *ListTopicSubscriptionsRequest) GetPageSize() int32 {
344         if m != nil {
345                 return m.PageSize
346         }
347         return 0
348 }
349
350 func (m *ListTopicSubscriptionsRequest) GetPageToken() string {
351         if m != nil {
352                 return m.PageToken
353         }
354         return ""
355 }
356
357 // Response for the `ListTopicSubscriptions` method.
358 type ListTopicSubscriptionsResponse struct {
359         // The names of the subscriptions that match the request.
360         Subscriptions []string `protobuf:"bytes,1,rep,name=subscriptions" json:"subscriptions,omitempty"`
361         // If not empty, indicates that there may be more subscriptions that match
362         // the request; this value should be passed in a new
363         // `ListTopicSubscriptionsRequest` to get more subscriptions.
364         NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
365 }
366
367 func (m *ListTopicSubscriptionsResponse) Reset()                    { *m = ListTopicSubscriptionsResponse{} }
368 func (m *ListTopicSubscriptionsResponse) String() string            { return proto.CompactTextString(m) }
369 func (*ListTopicSubscriptionsResponse) ProtoMessage()               {}
370 func (*ListTopicSubscriptionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
371
372 func (m *ListTopicSubscriptionsResponse) GetSubscriptions() []string {
373         if m != nil {
374                 return m.Subscriptions
375         }
376         return nil
377 }
378
379 func (m *ListTopicSubscriptionsResponse) GetNextPageToken() string {
380         if m != nil {
381                 return m.NextPageToken
382         }
383         return ""
384 }
385
386 // Request for the `DeleteTopic` method.
387 type DeleteTopicRequest struct {
388         // Name of the topic to delete.
389         // Format is `projects/{project}/topics/{topic}`.
390         Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
391 }
392
393 func (m *DeleteTopicRequest) Reset()                    { *m = DeleteTopicRequest{} }
394 func (m *DeleteTopicRequest) String() string            { return proto.CompactTextString(m) }
395 func (*DeleteTopicRequest) ProtoMessage()               {}
396 func (*DeleteTopicRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
397
398 func (m *DeleteTopicRequest) GetTopic() string {
399         if m != nil {
400                 return m.Topic
401         }
402         return ""
403 }
404
405 // A subscription resource.
406 type Subscription struct {
407         // The name of the subscription. It must have the format
408         // `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
409         // start with a letter, and contain only letters (`[A-Za-z]`), numbers
410         // (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
411         // plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
412         // in length, and it must not start with `"goog"`.
413         Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
414         // The name of the topic from which this subscription is receiving messages.
415         // Format is `projects/{project}/topics/{topic}`.
416         // The value of this field will be `_deleted-topic_` if the topic has been
417         // deleted.
418         Topic string `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
419         // If push delivery is used with this subscription, this field is
420         // used to configure it. An empty `pushConfig` signifies that the subscriber
421         // will pull and ack messages using API methods.
422         PushConfig *PushConfig `protobuf:"bytes,4,opt,name=push_config,json=pushConfig" json:"push_config,omitempty"`
423         // This value is the maximum time after a subscriber receives a message
424         // before the subscriber should acknowledge the message. After message
425         // delivery but before the ack deadline expires and before the message is
426         // acknowledged, it is an outstanding message and will not be delivered
427         // again during that time (on a best-effort basis).
428         //
429         // For pull subscriptions, this value is used as the initial value for the ack
430         // deadline. To override this value for a given message, call
431         // `ModifyAckDeadline` with the corresponding `ack_id` if using
432         // pull.
433         // The minimum custom deadline you can specify is 10 seconds.
434         // The maximum custom deadline you can specify is 600 seconds (10 minutes).
435         // If this parameter is 0, a default value of 10 seconds is used.
436         //
437         // For push delivery, this value is also used to set the request timeout for
438         // the call to the push endpoint.
439         //
440         // If the subscriber never acknowledges the message, the Pub/Sub
441         // system will eventually redeliver the message.
442         AckDeadlineSeconds int32 `protobuf:"varint,5,opt,name=ack_deadline_seconds,json=ackDeadlineSeconds" json:"ack_deadline_seconds,omitempty"`
443         // Indicates whether to retain acknowledged messages. If true, then
444         // messages are not expunged from the subscription's backlog, even if they are
445         // acknowledged, until they fall out of the `message_retention_duration`
446         // window.
447         RetainAckedMessages bool `protobuf:"varint,7,opt,name=retain_acked_messages,json=retainAckedMessages" json:"retain_acked_messages,omitempty"`
448         // How long to retain unacknowledged messages in the subscription's backlog,
449         // from the moment a message is published.
450         // If `retain_acked_messages` is true, then this also configures the retention
451         // of acknowledged messages, and thus configures how far back in time a `Seek`
452         // can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
453         // minutes.
454         MessageRetentionDuration *google_protobuf1.Duration `protobuf:"bytes,8,opt,name=message_retention_duration,json=messageRetentionDuration" json:"message_retention_duration,omitempty"`
455         // User labels.
456         Labels map[string]string `protobuf:"bytes,9,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
457 }
458
459 func (m *Subscription) Reset()                    { *m = Subscription{} }
460 func (m *Subscription) String() string            { return proto.CompactTextString(m) }
461 func (*Subscription) ProtoMessage()               {}
462 func (*Subscription) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
463
464 func (m *Subscription) GetName() string {
465         if m != nil {
466                 return m.Name
467         }
468         return ""
469 }
470
471 func (m *Subscription) GetTopic() string {
472         if m != nil {
473                 return m.Topic
474         }
475         return ""
476 }
477
478 func (m *Subscription) GetPushConfig() *PushConfig {
479         if m != nil {
480                 return m.PushConfig
481         }
482         return nil
483 }
484
485 func (m *Subscription) GetAckDeadlineSeconds() int32 {
486         if m != nil {
487                 return m.AckDeadlineSeconds
488         }
489         return 0
490 }
491
492 func (m *Subscription) GetRetainAckedMessages() bool {
493         if m != nil {
494                 return m.RetainAckedMessages
495         }
496         return false
497 }
498
499 func (m *Subscription) GetMessageRetentionDuration() *google_protobuf1.Duration {
500         if m != nil {
501                 return m.MessageRetentionDuration
502         }
503         return nil
504 }
505
506 func (m *Subscription) GetLabels() map[string]string {
507         if m != nil {
508                 return m.Labels
509         }
510         return nil
511 }
512
513 // Configuration for a push delivery endpoint.
514 type PushConfig struct {
515         // A URL locating the endpoint to which messages should be pushed.
516         // For example, a Webhook endpoint might use "https://example.com/push".
517         PushEndpoint string `protobuf:"bytes,1,opt,name=push_endpoint,json=pushEndpoint" json:"push_endpoint,omitempty"`
518         // Endpoint configuration attributes.
519         //
520         // Every endpoint has a set of API supported attributes that can be used to
521         // control different aspects of the message delivery.
522         //
523         // The currently supported attribute is `x-goog-version`, which you can
524         // use to change the format of the pushed message. This attribute
525         // indicates the version of the data expected by the endpoint. This
526         // controls the shape of the pushed message (i.e., its fields and metadata).
527         // The endpoint version is based on the version of the Pub/Sub API.
528         //
529         // If not present during the `CreateSubscription` call, it will default to
530         // the version of the API used to make such call. If not present during a
531         // `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
532         // calls will always return a valid version, even if the subscription was
533         // created without this attribute.
534         //
535         // The possible values for this attribute are:
536         //
537         // * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
538         // * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
539         Attributes map[string]string `protobuf:"bytes,2,rep,name=attributes" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
540 }
541
542 func (m *PushConfig) Reset()                    { *m = PushConfig{} }
543 func (m *PushConfig) String() string            { return proto.CompactTextString(m) }
544 func (*PushConfig) ProtoMessage()               {}
545 func (*PushConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
546
547 func (m *PushConfig) GetPushEndpoint() string {
548         if m != nil {
549                 return m.PushEndpoint
550         }
551         return ""
552 }
553
554 func (m *PushConfig) GetAttributes() map[string]string {
555         if m != nil {
556                 return m.Attributes
557         }
558         return nil
559 }
560
561 // A message and its corresponding acknowledgment ID.
562 type ReceivedMessage struct {
563         // This ID can be used to acknowledge the received message.
564         AckId string `protobuf:"bytes,1,opt,name=ack_id,json=ackId" json:"ack_id,omitempty"`
565         // The message.
566         Message *PubsubMessage `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
567 }
568
569 func (m *ReceivedMessage) Reset()                    { *m = ReceivedMessage{} }
570 func (m *ReceivedMessage) String() string            { return proto.CompactTextString(m) }
571 func (*ReceivedMessage) ProtoMessage()               {}
572 func (*ReceivedMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
573
574 func (m *ReceivedMessage) GetAckId() string {
575         if m != nil {
576                 return m.AckId
577         }
578         return ""
579 }
580
581 func (m *ReceivedMessage) GetMessage() *PubsubMessage {
582         if m != nil {
583                 return m.Message
584         }
585         return nil
586 }
587
588 // Request for the GetSubscription method.
589 type GetSubscriptionRequest struct {
590         // The name of the subscription to get.
591         // Format is `projects/{project}/subscriptions/{sub}`.
592         Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
593 }
594
595 func (m *GetSubscriptionRequest) Reset()                    { *m = GetSubscriptionRequest{} }
596 func (m *GetSubscriptionRequest) String() string            { return proto.CompactTextString(m) }
597 func (*GetSubscriptionRequest) ProtoMessage()               {}
598 func (*GetSubscriptionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
599
600 func (m *GetSubscriptionRequest) GetSubscription() string {
601         if m != nil {
602                 return m.Subscription
603         }
604         return ""
605 }
606
607 // Request for the UpdateSubscription method.
608 type UpdateSubscriptionRequest struct {
609         // The updated subscription object.
610         Subscription *Subscription `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
611         // Indicates which fields in the provided subscription to update.
612         // Must be specified and non-empty.
613         UpdateMask *google_protobuf3.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask" json:"update_mask,omitempty"`
614 }
615
616 func (m *UpdateSubscriptionRequest) Reset()                    { *m = UpdateSubscriptionRequest{} }
617 func (m *UpdateSubscriptionRequest) String() string            { return proto.CompactTextString(m) }
618 func (*UpdateSubscriptionRequest) ProtoMessage()               {}
619 func (*UpdateSubscriptionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
620
621 func (m *UpdateSubscriptionRequest) GetSubscription() *Subscription {
622         if m != nil {
623                 return m.Subscription
624         }
625         return nil
626 }
627
628 func (m *UpdateSubscriptionRequest) GetUpdateMask() *google_protobuf3.FieldMask {
629         if m != nil {
630                 return m.UpdateMask
631         }
632         return nil
633 }
634
635 // Request for the `ListSubscriptions` method.
636 type ListSubscriptionsRequest struct {
637         // The name of the cloud project that subscriptions belong to.
638         // Format is `projects/{project}`.
639         Project string `protobuf:"bytes,1,opt,name=project" json:"project,omitempty"`
640         // Maximum number of subscriptions to return.
641         PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
642         // The value returned by the last `ListSubscriptionsResponse`; indicates that
643         // this is a continuation of a prior `ListSubscriptions` call, and that the
644         // system should return the next page of data.
645         PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
646 }
647
648 func (m *ListSubscriptionsRequest) Reset()                    { *m = ListSubscriptionsRequest{} }
649 func (m *ListSubscriptionsRequest) String() string            { return proto.CompactTextString(m) }
650 func (*ListSubscriptionsRequest) ProtoMessage()               {}
651 func (*ListSubscriptionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
652
653 func (m *ListSubscriptionsRequest) GetProject() string {
654         if m != nil {
655                 return m.Project
656         }
657         return ""
658 }
659
660 func (m *ListSubscriptionsRequest) GetPageSize() int32 {
661         if m != nil {
662                 return m.PageSize
663         }
664         return 0
665 }
666
667 func (m *ListSubscriptionsRequest) GetPageToken() string {
668         if m != nil {
669                 return m.PageToken
670         }
671         return ""
672 }
673
674 // Response for the `ListSubscriptions` method.
675 type ListSubscriptionsResponse struct {
676         // The subscriptions that match the request.
677         Subscriptions []*Subscription `protobuf:"bytes,1,rep,name=subscriptions" json:"subscriptions,omitempty"`
678         // If not empty, indicates that there may be more subscriptions that match
679         // the request; this value should be passed in a new
680         // `ListSubscriptionsRequest` to get more subscriptions.
681         NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
682 }
683
684 func (m *ListSubscriptionsResponse) Reset()                    { *m = ListSubscriptionsResponse{} }
685 func (m *ListSubscriptionsResponse) String() string            { return proto.CompactTextString(m) }
686 func (*ListSubscriptionsResponse) ProtoMessage()               {}
687 func (*ListSubscriptionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
688
689 func (m *ListSubscriptionsResponse) GetSubscriptions() []*Subscription {
690         if m != nil {
691                 return m.Subscriptions
692         }
693         return nil
694 }
695
696 func (m *ListSubscriptionsResponse) GetNextPageToken() string {
697         if m != nil {
698                 return m.NextPageToken
699         }
700         return ""
701 }
702
703 // Request for the DeleteSubscription method.
704 type DeleteSubscriptionRequest struct {
705         // The subscription to delete.
706         // Format is `projects/{project}/subscriptions/{sub}`.
707         Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
708 }
709
710 func (m *DeleteSubscriptionRequest) Reset()                    { *m = DeleteSubscriptionRequest{} }
711 func (m *DeleteSubscriptionRequest) String() string            { return proto.CompactTextString(m) }
712 func (*DeleteSubscriptionRequest) ProtoMessage()               {}
713 func (*DeleteSubscriptionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
714
715 func (m *DeleteSubscriptionRequest) GetSubscription() string {
716         if m != nil {
717                 return m.Subscription
718         }
719         return ""
720 }
721
722 // Request for the ModifyPushConfig method.
723 type ModifyPushConfigRequest struct {
724         // The name of the subscription.
725         // Format is `projects/{project}/subscriptions/{sub}`.
726         Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
727         // The push configuration for future deliveries.
728         //
729         // An empty `pushConfig` indicates that the Pub/Sub system should
730         // stop pushing messages from the given subscription and allow
731         // messages to be pulled and acknowledged - effectively pausing
732         // the subscription if `Pull` is not called.
733         PushConfig *PushConfig `protobuf:"bytes,2,opt,name=push_config,json=pushConfig" json:"push_config,omitempty"`
734 }
735
736 func (m *ModifyPushConfigRequest) Reset()                    { *m = ModifyPushConfigRequest{} }
737 func (m *ModifyPushConfigRequest) String() string            { return proto.CompactTextString(m) }
738 func (*ModifyPushConfigRequest) ProtoMessage()               {}
739 func (*ModifyPushConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
740
741 func (m *ModifyPushConfigRequest) GetSubscription() string {
742         if m != nil {
743                 return m.Subscription
744         }
745         return ""
746 }
747
748 func (m *ModifyPushConfigRequest) GetPushConfig() *PushConfig {
749         if m != nil {
750                 return m.PushConfig
751         }
752         return nil
753 }
754
755 // Request for the `Pull` method.
756 type PullRequest struct {
757         // The subscription from which messages should be pulled.
758         // Format is `projects/{project}/subscriptions/{sub}`.
759         Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
760         // If this field set to true, the system will respond immediately even if
761         // it there are no messages available to return in the `Pull` response.
762         // Otherwise, the system may wait (for a bounded amount of time) until at
763         // least one message is available, rather than returning no messages. The
764         // client may cancel the request if it does not wish to wait any longer for
765         // the response.
766         ReturnImmediately bool `protobuf:"varint,2,opt,name=return_immediately,json=returnImmediately" json:"return_immediately,omitempty"`
767         // The maximum number of messages returned for this request. The Pub/Sub
768         // system may return fewer than the number specified.
769         MaxMessages int32 `protobuf:"varint,3,opt,name=max_messages,json=maxMessages" json:"max_messages,omitempty"`
770 }
771
772 func (m *PullRequest) Reset()                    { *m = PullRequest{} }
773 func (m *PullRequest) String() string            { return proto.CompactTextString(m) }
774 func (*PullRequest) ProtoMessage()               {}
775 func (*PullRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
776
777 func (m *PullRequest) GetSubscription() string {
778         if m != nil {
779                 return m.Subscription
780         }
781         return ""
782 }
783
784 func (m *PullRequest) GetReturnImmediately() bool {
785         if m != nil {
786                 return m.ReturnImmediately
787         }
788         return false
789 }
790
791 func (m *PullRequest) GetMaxMessages() int32 {
792         if m != nil {
793                 return m.MaxMessages
794         }
795         return 0
796 }
797
798 // Response for the `Pull` method.
799 type PullResponse struct {
800         // Received Pub/Sub messages. The Pub/Sub system will return zero messages if
801         // there are no more available in the backlog. The Pub/Sub system may return
802         // fewer than the `maxMessages` requested even if there are more messages
803         // available in the backlog.
804         ReceivedMessages []*ReceivedMessage `protobuf:"bytes,1,rep,name=received_messages,json=receivedMessages" json:"received_messages,omitempty"`
805 }
806
807 func (m *PullResponse) Reset()                    { *m = PullResponse{} }
808 func (m *PullResponse) String() string            { return proto.CompactTextString(m) }
809 func (*PullResponse) ProtoMessage()               {}
810 func (*PullResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
811
812 func (m *PullResponse) GetReceivedMessages() []*ReceivedMessage {
813         if m != nil {
814                 return m.ReceivedMessages
815         }
816         return nil
817 }
818
819 // Request for the ModifyAckDeadline method.
820 type ModifyAckDeadlineRequest struct {
821         // The name of the subscription.
822         // Format is `projects/{project}/subscriptions/{sub}`.
823         Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
824         // List of acknowledgment IDs.
825         AckIds []string `protobuf:"bytes,4,rep,name=ack_ids,json=ackIds" json:"ack_ids,omitempty"`
826         // The new ack deadline with respect to the time this request was sent to
827         // the Pub/Sub system. For example, if the value is 10, the new
828         // ack deadline will expire 10 seconds after the `ModifyAckDeadline` call
829         // was made. Specifying zero may immediately make the message available for
830         // another pull request.
831         // The minimum deadline you can specify is 0 seconds.
832         // The maximum deadline you can specify is 600 seconds (10 minutes).
833         AckDeadlineSeconds int32 `protobuf:"varint,3,opt,name=ack_deadline_seconds,json=ackDeadlineSeconds" json:"ack_deadline_seconds,omitempty"`
834 }
835
836 func (m *ModifyAckDeadlineRequest) Reset()                    { *m = ModifyAckDeadlineRequest{} }
837 func (m *ModifyAckDeadlineRequest) String() string            { return proto.CompactTextString(m) }
838 func (*ModifyAckDeadlineRequest) ProtoMessage()               {}
839 func (*ModifyAckDeadlineRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
840
841 func (m *ModifyAckDeadlineRequest) GetSubscription() string {
842         if m != nil {
843                 return m.Subscription
844         }
845         return ""
846 }
847
848 func (m *ModifyAckDeadlineRequest) GetAckIds() []string {
849         if m != nil {
850                 return m.AckIds
851         }
852         return nil
853 }
854
855 func (m *ModifyAckDeadlineRequest) GetAckDeadlineSeconds() int32 {
856         if m != nil {
857                 return m.AckDeadlineSeconds
858         }
859         return 0
860 }
861
862 // Request for the Acknowledge method.
863 type AcknowledgeRequest struct {
864         // The subscription whose message is being acknowledged.
865         // Format is `projects/{project}/subscriptions/{sub}`.
866         Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
867         // The acknowledgment ID for the messages being acknowledged that was returned
868         // by the Pub/Sub system in the `Pull` response. Must not be empty.
869         AckIds []string `protobuf:"bytes,2,rep,name=ack_ids,json=ackIds" json:"ack_ids,omitempty"`
870 }
871
872 func (m *AcknowledgeRequest) Reset()                    { *m = AcknowledgeRequest{} }
873 func (m *AcknowledgeRequest) String() string            { return proto.CompactTextString(m) }
874 func (*AcknowledgeRequest) ProtoMessage()               {}
875 func (*AcknowledgeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
876
877 func (m *AcknowledgeRequest) GetSubscription() string {
878         if m != nil {
879                 return m.Subscription
880         }
881         return ""
882 }
883
884 func (m *AcknowledgeRequest) GetAckIds() []string {
885         if m != nil {
886                 return m.AckIds
887         }
888         return nil
889 }
890
891 // Request for the `StreamingPull` streaming RPC method. This request is used to
892 // establish the initial stream as well as to stream acknowledgements and ack
893 // deadline modifications from the client to the server.
894 type StreamingPullRequest struct {
895         // The subscription for which to initialize the new stream. This must be
896         // provided in the first request on the stream, and must not be set in
897         // subsequent requests from client to server.
898         // Format is `projects/{project}/subscriptions/{sub}`.
899         Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
900         // List of acknowledgement IDs for acknowledging previously received messages
901         // (received on this stream or a different stream). If an ack ID has expired,
902         // the corresponding message may be redelivered later. Acknowledging a message
903         // more than once will not result in an error. If the acknowledgement ID is
904         // malformed, the stream will be aborted with status `INVALID_ARGUMENT`.
905         AckIds []string `protobuf:"bytes,2,rep,name=ack_ids,json=ackIds" json:"ack_ids,omitempty"`
906         // The list of new ack deadlines for the IDs listed in
907         // `modify_deadline_ack_ids`. The size of this list must be the same as the
908         // size of `modify_deadline_ack_ids`. If it differs the stream will be aborted
909         // with `INVALID_ARGUMENT`. Each element in this list is applied to the
910         // element in the same position in `modify_deadline_ack_ids`. The new ack
911         // deadline is with respect to the time this request was sent to the Pub/Sub
912         // system. Must be >= 0. For example, if the value is 10, the new ack deadline
913         // will expire 10 seconds after this request is received. If the value is 0,
914         // the message is immediately made available for another streaming or
915         // non-streaming pull request. If the value is < 0 (an error), the stream will
916         // be aborted with status `INVALID_ARGUMENT`.
917         ModifyDeadlineSeconds []int32 `protobuf:"varint,3,rep,packed,name=modify_deadline_seconds,json=modifyDeadlineSeconds" json:"modify_deadline_seconds,omitempty"`
918         // List of acknowledgement IDs whose deadline will be modified based on the
919         // corresponding element in `modify_deadline_seconds`. This field can be used
920         // to indicate that more time is needed to process a message by the
921         // subscriber, or to make the message available for redelivery if the
922         // processing was interrupted.
923         ModifyDeadlineAckIds []string `protobuf:"bytes,4,rep,name=modify_deadline_ack_ids,json=modifyDeadlineAckIds" json:"modify_deadline_ack_ids,omitempty"`
924         // The ack deadline to use for the stream. This must be provided in the
925         // first request on the stream, but it can also be updated on subsequent
926         // requests from client to server. The minimum deadline you can specify is 10
927         // seconds. The maximum deadline you can specify is 600 seconds (10 minutes).
928         StreamAckDeadlineSeconds int32 `protobuf:"varint,5,opt,name=stream_ack_deadline_seconds,json=streamAckDeadlineSeconds" json:"stream_ack_deadline_seconds,omitempty"`
929 }
930
931 func (m *StreamingPullRequest) Reset()                    { *m = StreamingPullRequest{} }
932 func (m *StreamingPullRequest) String() string            { return proto.CompactTextString(m) }
933 func (*StreamingPullRequest) ProtoMessage()               {}
934 func (*StreamingPullRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }
935
936 func (m *StreamingPullRequest) GetSubscription() string {
937         if m != nil {
938                 return m.Subscription
939         }
940         return ""
941 }
942
943 func (m *StreamingPullRequest) GetAckIds() []string {
944         if m != nil {
945                 return m.AckIds
946         }
947         return nil
948 }
949
950 func (m *StreamingPullRequest) GetModifyDeadlineSeconds() []int32 {
951         if m != nil {
952                 return m.ModifyDeadlineSeconds
953         }
954         return nil
955 }
956
957 func (m *StreamingPullRequest) GetModifyDeadlineAckIds() []string {
958         if m != nil {
959                 return m.ModifyDeadlineAckIds
960         }
961         return nil
962 }
963
964 func (m *StreamingPullRequest) GetStreamAckDeadlineSeconds() int32 {
965         if m != nil {
966                 return m.StreamAckDeadlineSeconds
967         }
968         return 0
969 }
970
971 // Response for the `StreamingPull` method. This response is used to stream
972 // messages from the server to the client.
973 type StreamingPullResponse struct {
974         // Received Pub/Sub messages. This will not be empty.
975         ReceivedMessages []*ReceivedMessage `protobuf:"bytes,1,rep,name=received_messages,json=receivedMessages" json:"received_messages,omitempty"`
976 }
977
978 func (m *StreamingPullResponse) Reset()                    { *m = StreamingPullResponse{} }
979 func (m *StreamingPullResponse) String() string            { return proto.CompactTextString(m) }
980 func (*StreamingPullResponse) ProtoMessage()               {}
981 func (*StreamingPullResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }
982
983 func (m *StreamingPullResponse) GetReceivedMessages() []*ReceivedMessage {
984         if m != nil {
985                 return m.ReceivedMessages
986         }
987         return nil
988 }
989
990 // Request for the `CreateSnapshot` method.
991 type CreateSnapshotRequest struct {
992         // Optional user-provided name for this snapshot.
993         // If the name is not provided in the request, the server will assign a random
994         // name for this snapshot on the same project as the subscription.
995         // Note that for REST API requests, you must specify a name.
996         // Format is `projects/{project}/snapshots/{snap}`.
997         Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
998         // The subscription whose backlog the snapshot retains.
999         // Specifically, the created snapshot is guaranteed to retain:
1000         //  (a) The existing backlog on the subscription. More precisely, this is
1001         //      defined as the messages in the subscription's backlog that are
1002         //      unacknowledged upon the successful completion of the
1003         //      `CreateSnapshot` request; as well as:
1004         //  (b) Any messages published to the subscription's topic following the
1005         //      successful completion of the CreateSnapshot request.
1006         // Format is `projects/{project}/subscriptions/{sub}`.
1007         Subscription string `protobuf:"bytes,2,opt,name=subscription" json:"subscription,omitempty"`
1008 }
1009
1010 func (m *CreateSnapshotRequest) Reset()                    { *m = CreateSnapshotRequest{} }
1011 func (m *CreateSnapshotRequest) String() string            { return proto.CompactTextString(m) }
1012 func (*CreateSnapshotRequest) ProtoMessage()               {}
1013 func (*CreateSnapshotRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} }
1014
1015 func (m *CreateSnapshotRequest) GetName() string {
1016         if m != nil {
1017                 return m.Name
1018         }
1019         return ""
1020 }
1021
1022 func (m *CreateSnapshotRequest) GetSubscription() string {
1023         if m != nil {
1024                 return m.Subscription
1025         }
1026         return ""
1027 }
1028
1029 // Request for the UpdateSnapshot method.
1030 type UpdateSnapshotRequest struct {
1031         // The updated snpashot object.
1032         Snapshot *Snapshot `protobuf:"bytes,1,opt,name=snapshot" json:"snapshot,omitempty"`
1033         // Indicates which fields in the provided snapshot to update.
1034         // Must be specified and non-empty.
1035         UpdateMask *google_protobuf3.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask" json:"update_mask,omitempty"`
1036 }
1037
1038 func (m *UpdateSnapshotRequest) Reset()                    { *m = UpdateSnapshotRequest{} }
1039 func (m *UpdateSnapshotRequest) String() string            { return proto.CompactTextString(m) }
1040 func (*UpdateSnapshotRequest) ProtoMessage()               {}
1041 func (*UpdateSnapshotRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }
1042
1043 func (m *UpdateSnapshotRequest) GetSnapshot() *Snapshot {
1044         if m != nil {
1045                 return m.Snapshot
1046         }
1047         return nil
1048 }
1049
1050 func (m *UpdateSnapshotRequest) GetUpdateMask() *google_protobuf3.FieldMask {
1051         if m != nil {
1052                 return m.UpdateMask
1053         }
1054         return nil
1055 }
1056
1057 // A snapshot resource.
1058 type Snapshot struct {
1059         // The name of the snapshot.
1060         Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
1061         // The name of the topic from which this snapshot is retaining messages.
1062         Topic string `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
1063         // The snapshot is guaranteed to exist up until this time.
1064         // A newly-created snapshot expires no later than 7 days from the time of its
1065         // creation. Its exact lifetime is determined at creation by the existing
1066         // backlog in the source subscription. Specifically, the lifetime of the
1067         // snapshot is `7 days - (age of oldest unacked message in the subscription)`.
1068         // For example, consider a subscription whose oldest unacked message is 3 days
1069         // old. If a snapshot is created from this subscription, the snapshot -- which
1070         // will always capture this 3-day-old backlog as long as the snapshot
1071         // exists -- will expire in 4 days.
1072         ExpireTime *google_protobuf4.Timestamp `protobuf:"bytes,3,opt,name=expire_time,json=expireTime" json:"expire_time,omitempty"`
1073         // User labels.
1074         Labels map[string]string `protobuf:"bytes,4,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
1075 }
1076
1077 func (m *Snapshot) Reset()                    { *m = Snapshot{} }
1078 func (m *Snapshot) String() string            { return proto.CompactTextString(m) }
1079 func (*Snapshot) ProtoMessage()               {}
1080 func (*Snapshot) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} }
1081
1082 func (m *Snapshot) GetName() string {
1083         if m != nil {
1084                 return m.Name
1085         }
1086         return ""
1087 }
1088
1089 func (m *Snapshot) GetTopic() string {
1090         if m != nil {
1091                 return m.Topic
1092         }
1093         return ""
1094 }
1095
1096 func (m *Snapshot) GetExpireTime() *google_protobuf4.Timestamp {
1097         if m != nil {
1098                 return m.ExpireTime
1099         }
1100         return nil
1101 }
1102
1103 func (m *Snapshot) GetLabels() map[string]string {
1104         if m != nil {
1105                 return m.Labels
1106         }
1107         return nil
1108 }
1109
1110 // Request for the `ListSnapshots` method.
1111 type ListSnapshotsRequest struct {
1112         // The name of the cloud project that snapshots belong to.
1113         // Format is `projects/{project}`.
1114         Project string `protobuf:"bytes,1,opt,name=project" json:"project,omitempty"`
1115         // Maximum number of snapshots to return.
1116         PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
1117         // The value returned by the last `ListSnapshotsResponse`; indicates that this
1118         // is a continuation of a prior `ListSnapshots` call, and that the system
1119         // should return the next page of data.
1120         PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
1121 }
1122
1123 func (m *ListSnapshotsRequest) Reset()                    { *m = ListSnapshotsRequest{} }
1124 func (m *ListSnapshotsRequest) String() string            { return proto.CompactTextString(m) }
1125 func (*ListSnapshotsRequest) ProtoMessage()               {}
1126 func (*ListSnapshotsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} }
1127
1128 func (m *ListSnapshotsRequest) GetProject() string {
1129         if m != nil {
1130                 return m.Project
1131         }
1132         return ""
1133 }
1134
1135 func (m *ListSnapshotsRequest) GetPageSize() int32 {
1136         if m != nil {
1137                 return m.PageSize
1138         }
1139         return 0
1140 }
1141
1142 func (m *ListSnapshotsRequest) GetPageToken() string {
1143         if m != nil {
1144                 return m.PageToken
1145         }
1146         return ""
1147 }
1148
1149 // Response for the `ListSnapshots` method.
1150 type ListSnapshotsResponse struct {
1151         // The resulting snapshots.
1152         Snapshots []*Snapshot `protobuf:"bytes,1,rep,name=snapshots" json:"snapshots,omitempty"`
1153         // If not empty, indicates that there may be more snapshot that match the
1154         // request; this value should be passed in a new `ListSnapshotsRequest`.
1155         NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
1156 }
1157
1158 func (m *ListSnapshotsResponse) Reset()                    { *m = ListSnapshotsResponse{} }
1159 func (m *ListSnapshotsResponse) String() string            { return proto.CompactTextString(m) }
1160 func (*ListSnapshotsResponse) ProtoMessage()               {}
1161 func (*ListSnapshotsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} }
1162
1163 func (m *ListSnapshotsResponse) GetSnapshots() []*Snapshot {
1164         if m != nil {
1165                 return m.Snapshots
1166         }
1167         return nil
1168 }
1169
1170 func (m *ListSnapshotsResponse) GetNextPageToken() string {
1171         if m != nil {
1172                 return m.NextPageToken
1173         }
1174         return ""
1175 }
1176
1177 // Request for the `DeleteSnapshot` method.
1178 type DeleteSnapshotRequest struct {
1179         // The name of the snapshot to delete.
1180         // Format is `projects/{project}/snapshots/{snap}`.
1181         Snapshot string `protobuf:"bytes,1,opt,name=snapshot" json:"snapshot,omitempty"`
1182 }
1183
1184 func (m *DeleteSnapshotRequest) Reset()                    { *m = DeleteSnapshotRequest{} }
1185 func (m *DeleteSnapshotRequest) String() string            { return proto.CompactTextString(m) }
1186 func (*DeleteSnapshotRequest) ProtoMessage()               {}
1187 func (*DeleteSnapshotRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} }
1188
1189 func (m *DeleteSnapshotRequest) GetSnapshot() string {
1190         if m != nil {
1191                 return m.Snapshot
1192         }
1193         return ""
1194 }
1195
1196 // Request for the `Seek` method.
1197 type SeekRequest struct {
1198         // The subscription to affect.
1199         Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
1200         // Types that are valid to be assigned to Target:
1201         //      *SeekRequest_Time
1202         //      *SeekRequest_Snapshot
1203         Target isSeekRequest_Target `protobuf_oneof:"target"`
1204 }
1205
1206 func (m *SeekRequest) Reset()                    { *m = SeekRequest{} }
1207 func (m *SeekRequest) String() string            { return proto.CompactTextString(m) }
1208 func (*SeekRequest) ProtoMessage()               {}
1209 func (*SeekRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} }
1210
1211 type isSeekRequest_Target interface {
1212         isSeekRequest_Target()
1213 }
1214
1215 type SeekRequest_Time struct {
1216         Time *google_protobuf4.Timestamp `protobuf:"bytes,2,opt,name=time,oneof"`
1217 }
1218 type SeekRequest_Snapshot struct {
1219         Snapshot string `protobuf:"bytes,3,opt,name=snapshot,oneof"`
1220 }
1221
1222 func (*SeekRequest_Time) isSeekRequest_Target()     {}
1223 func (*SeekRequest_Snapshot) isSeekRequest_Target() {}
1224
1225 func (m *SeekRequest) GetTarget() isSeekRequest_Target {
1226         if m != nil {
1227                 return m.Target
1228         }
1229         return nil
1230 }
1231
1232 func (m *SeekRequest) GetSubscription() string {
1233         if m != nil {
1234                 return m.Subscription
1235         }
1236         return ""
1237 }
1238
1239 func (m *SeekRequest) GetTime() *google_protobuf4.Timestamp {
1240         if x, ok := m.GetTarget().(*SeekRequest_Time); ok {
1241                 return x.Time
1242         }
1243         return nil
1244 }
1245
1246 func (m *SeekRequest) GetSnapshot() string {
1247         if x, ok := m.GetTarget().(*SeekRequest_Snapshot); ok {
1248                 return x.Snapshot
1249         }
1250         return ""
1251 }
1252
1253 // XXX_OneofFuncs is for the internal use of the proto package.
1254 func (*SeekRequest) 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{}) {
1255         return _SeekRequest_OneofMarshaler, _SeekRequest_OneofUnmarshaler, _SeekRequest_OneofSizer, []interface{}{
1256                 (*SeekRequest_Time)(nil),
1257                 (*SeekRequest_Snapshot)(nil),
1258         }
1259 }
1260
1261 func _SeekRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
1262         m := msg.(*SeekRequest)
1263         // target
1264         switch x := m.Target.(type) {
1265         case *SeekRequest_Time:
1266                 b.EncodeVarint(2<<3 | proto.WireBytes)
1267                 if err := b.EncodeMessage(x.Time); err != nil {
1268                         return err
1269                 }
1270         case *SeekRequest_Snapshot:
1271                 b.EncodeVarint(3<<3 | proto.WireBytes)
1272                 b.EncodeStringBytes(x.Snapshot)
1273         case nil:
1274         default:
1275                 return fmt.Errorf("SeekRequest.Target has unexpected type %T", x)
1276         }
1277         return nil
1278 }
1279
1280 func _SeekRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
1281         m := msg.(*SeekRequest)
1282         switch tag {
1283         case 2: // target.time
1284                 if wire != proto.WireBytes {
1285                         return true, proto.ErrInternalBadWireType
1286                 }
1287                 msg := new(google_protobuf4.Timestamp)
1288                 err := b.DecodeMessage(msg)
1289                 m.Target = &SeekRequest_Time{msg}
1290                 return true, err
1291         case 3: // target.snapshot
1292                 if wire != proto.WireBytes {
1293                         return true, proto.ErrInternalBadWireType
1294                 }
1295                 x, err := b.DecodeStringBytes()
1296                 m.Target = &SeekRequest_Snapshot{x}
1297                 return true, err
1298         default:
1299                 return false, nil
1300         }
1301 }
1302
1303 func _SeekRequest_OneofSizer(msg proto.Message) (n int) {
1304         m := msg.(*SeekRequest)
1305         // target
1306         switch x := m.Target.(type) {
1307         case *SeekRequest_Time:
1308                 s := proto.Size(x.Time)
1309                 n += proto.SizeVarint(2<<3 | proto.WireBytes)
1310                 n += proto.SizeVarint(uint64(s))
1311                 n += s
1312         case *SeekRequest_Snapshot:
1313                 n += proto.SizeVarint(3<<3 | proto.WireBytes)
1314                 n += proto.SizeVarint(uint64(len(x.Snapshot)))
1315                 n += len(x.Snapshot)
1316         case nil:
1317         default:
1318                 panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
1319         }
1320         return n
1321 }
1322
1323 type SeekResponse struct {
1324 }
1325
1326 func (m *SeekResponse) Reset()                    { *m = SeekResponse{} }
1327 func (m *SeekResponse) String() string            { return proto.CompactTextString(m) }
1328 func (*SeekResponse) ProtoMessage()               {}
1329 func (*SeekResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} }
1330
1331 func init() {
1332         proto.RegisterType((*Topic)(nil), "google.pubsub.v1.Topic")
1333         proto.RegisterType((*PubsubMessage)(nil), "google.pubsub.v1.PubsubMessage")
1334         proto.RegisterType((*GetTopicRequest)(nil), "google.pubsub.v1.GetTopicRequest")
1335         proto.RegisterType((*UpdateTopicRequest)(nil), "google.pubsub.v1.UpdateTopicRequest")
1336         proto.RegisterType((*PublishRequest)(nil), "google.pubsub.v1.PublishRequest")
1337         proto.RegisterType((*PublishResponse)(nil), "google.pubsub.v1.PublishResponse")
1338         proto.RegisterType((*ListTopicsRequest)(nil), "google.pubsub.v1.ListTopicsRequest")
1339         proto.RegisterType((*ListTopicsResponse)(nil), "google.pubsub.v1.ListTopicsResponse")
1340         proto.RegisterType((*ListTopicSubscriptionsRequest)(nil), "google.pubsub.v1.ListTopicSubscriptionsRequest")
1341         proto.RegisterType((*ListTopicSubscriptionsResponse)(nil), "google.pubsub.v1.ListTopicSubscriptionsResponse")
1342         proto.RegisterType((*DeleteTopicRequest)(nil), "google.pubsub.v1.DeleteTopicRequest")
1343         proto.RegisterType((*Subscription)(nil), "google.pubsub.v1.Subscription")
1344         proto.RegisterType((*PushConfig)(nil), "google.pubsub.v1.PushConfig")
1345         proto.RegisterType((*ReceivedMessage)(nil), "google.pubsub.v1.ReceivedMessage")
1346         proto.RegisterType((*GetSubscriptionRequest)(nil), "google.pubsub.v1.GetSubscriptionRequest")
1347         proto.RegisterType((*UpdateSubscriptionRequest)(nil), "google.pubsub.v1.UpdateSubscriptionRequest")
1348         proto.RegisterType((*ListSubscriptionsRequest)(nil), "google.pubsub.v1.ListSubscriptionsRequest")
1349         proto.RegisterType((*ListSubscriptionsResponse)(nil), "google.pubsub.v1.ListSubscriptionsResponse")
1350         proto.RegisterType((*DeleteSubscriptionRequest)(nil), "google.pubsub.v1.DeleteSubscriptionRequest")
1351         proto.RegisterType((*ModifyPushConfigRequest)(nil), "google.pubsub.v1.ModifyPushConfigRequest")
1352         proto.RegisterType((*PullRequest)(nil), "google.pubsub.v1.PullRequest")
1353         proto.RegisterType((*PullResponse)(nil), "google.pubsub.v1.PullResponse")
1354         proto.RegisterType((*ModifyAckDeadlineRequest)(nil), "google.pubsub.v1.ModifyAckDeadlineRequest")
1355         proto.RegisterType((*AcknowledgeRequest)(nil), "google.pubsub.v1.AcknowledgeRequest")
1356         proto.RegisterType((*StreamingPullRequest)(nil), "google.pubsub.v1.StreamingPullRequest")
1357         proto.RegisterType((*StreamingPullResponse)(nil), "google.pubsub.v1.StreamingPullResponse")
1358         proto.RegisterType((*CreateSnapshotRequest)(nil), "google.pubsub.v1.CreateSnapshotRequest")
1359         proto.RegisterType((*UpdateSnapshotRequest)(nil), "google.pubsub.v1.UpdateSnapshotRequest")
1360         proto.RegisterType((*Snapshot)(nil), "google.pubsub.v1.Snapshot")
1361         proto.RegisterType((*ListSnapshotsRequest)(nil), "google.pubsub.v1.ListSnapshotsRequest")
1362         proto.RegisterType((*ListSnapshotsResponse)(nil), "google.pubsub.v1.ListSnapshotsResponse")
1363         proto.RegisterType((*DeleteSnapshotRequest)(nil), "google.pubsub.v1.DeleteSnapshotRequest")
1364         proto.RegisterType((*SeekRequest)(nil), "google.pubsub.v1.SeekRequest")
1365         proto.RegisterType((*SeekResponse)(nil), "google.pubsub.v1.SeekResponse")
1366 }
1367
1368 // Reference imports to suppress errors if they are not otherwise used.
1369 var _ context.Context
1370 var _ grpc.ClientConn
1371
1372 // This is a compile-time assertion to ensure that this generated file
1373 // is compatible with the grpc package it is being compiled against.
1374 const _ = grpc.SupportPackageIsVersion4
1375
1376 // Client API for Subscriber service
1377
1378 type SubscriberClient interface {
1379         // Creates a subscription to a given topic.
1380         // If the subscription already exists, returns `ALREADY_EXISTS`.
1381         // If the corresponding topic doesn't exist, returns `NOT_FOUND`.
1382         //
1383         // If the name is not provided in the request, the server will assign a random
1384         // name for this subscription on the same project as the topic, conforming
1385         // to the
1386         // [resource name format](https://cloud.google.com/pubsub/docs/overview#names).
1387         // The generated name is populated in the returned Subscription object.
1388         // Note that for REST API requests, you must specify a name in the request.
1389         CreateSubscription(ctx context.Context, in *Subscription, opts ...grpc.CallOption) (*Subscription, error)
1390         // Gets the configuration details of a subscription.
1391         GetSubscription(ctx context.Context, in *GetSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error)
1392         // Updates an existing subscription. Note that certain properties of a
1393         // subscription, such as its topic, are not modifiable.
1394         // NOTE:  The style guide requires body: "subscription" instead of body: "*".
1395         // Keeping the latter for internal consistency in V1, however it should be
1396         // corrected in V2.  See
1397         // https://cloud.google.com/apis/design/standard_methods#update for details.
1398         UpdateSubscription(ctx context.Context, in *UpdateSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error)
1399         // Lists matching subscriptions.
1400         ListSubscriptions(ctx context.Context, in *ListSubscriptionsRequest, opts ...grpc.CallOption) (*ListSubscriptionsResponse, error)
1401         // Deletes an existing subscription. All messages retained in the subscription
1402         // are immediately dropped. Calls to `Pull` after deletion will return
1403         // `NOT_FOUND`. After a subscription is deleted, a new one may be created with
1404         // the same name, but the new one has no association with the old
1405         // subscription or its topic unless the same topic is specified.
1406         DeleteSubscription(ctx context.Context, in *DeleteSubscriptionRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error)
1407         // Modifies the ack deadline for a specific message. This method is useful
1408         // to indicate that more time is needed to process a message by the
1409         // subscriber, or to make the message available for redelivery if the
1410         // processing was interrupted. Note that this does not modify the
1411         // subscription-level `ackDeadlineSeconds` used for subsequent messages.
1412         ModifyAckDeadline(ctx context.Context, in *ModifyAckDeadlineRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error)
1413         // Acknowledges the messages associated with the `ack_ids` in the
1414         // `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages
1415         // from the subscription.
1416         //
1417         // Acknowledging a message whose ack deadline has expired may succeed,
1418         // but such a message may be redelivered later. Acknowledging a message more
1419         // than once will not result in an error.
1420         Acknowledge(ctx context.Context, in *AcknowledgeRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error)
1421         // Pulls messages from the server. Returns an empty list if there are no
1422         // messages available in the backlog. The server may return `UNAVAILABLE` if
1423         // there are too many concurrent pull requests pending for the given
1424         // subscription.
1425         Pull(ctx context.Context, in *PullRequest, opts ...grpc.CallOption) (*PullResponse, error)
1426         // (EXPERIMENTAL) StreamingPull is an experimental feature. This RPC will
1427         // respond with UNIMPLEMENTED errors unless you have been invited to test
1428         // this feature. Contact cloud-pubsub@google.com with any questions.
1429         //
1430         // Establishes a stream with the server, which sends messages down to the
1431         // client. The client streams acknowledgements and ack deadline modifications
1432         // back to the server. The server will close the stream and return the status
1433         // on any error. The server may close the stream with status `OK` to reassign
1434         // server-side resources, in which case, the client should re-establish the
1435         // stream. `UNAVAILABLE` may also be returned in the case of a transient error
1436         // (e.g., a server restart). These should also be retried by the client. Flow
1437         // control can be achieved by configuring the underlying RPC channel.
1438         StreamingPull(ctx context.Context, opts ...grpc.CallOption) (Subscriber_StreamingPullClient, error)
1439         // Modifies the `PushConfig` for a specified subscription.
1440         //
1441         // This may be used to change a push subscription to a pull one (signified by
1442         // an empty `PushConfig`) or vice versa, or change the endpoint URL and other
1443         // attributes of a push subscription. Messages will accumulate for delivery
1444         // continuously through the call regardless of changes to the `PushConfig`.
1445         ModifyPushConfig(ctx context.Context, in *ModifyPushConfigRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error)
1446         // Lists the existing snapshots.
1447         ListSnapshots(ctx context.Context, in *ListSnapshotsRequest, opts ...grpc.CallOption) (*ListSnapshotsResponse, error)
1448         // Creates a snapshot from the requested subscription.
1449         // If the snapshot already exists, returns `ALREADY_EXISTS`.
1450         // If the requested subscription doesn't exist, returns `NOT_FOUND`.
1451         //
1452         // If the name is not provided in the request, the server will assign a random
1453         // name for this snapshot on the same project as the subscription, conforming
1454         // to the
1455         // [resource name format](https://cloud.google.com/pubsub/docs/overview#names).
1456         // The generated name is populated in the returned Snapshot object.
1457         // Note that for REST API requests, you must specify a name in the request.
1458         CreateSnapshot(ctx context.Context, in *CreateSnapshotRequest, opts ...grpc.CallOption) (*Snapshot, error)
1459         // Updates an existing snapshot. Note that certain properties of a snapshot
1460         // are not modifiable.
1461         // NOTE:  The style guide requires body: "snapshot" instead of body: "*".
1462         // Keeping the latter for internal consistency in V1, however it should be
1463         // corrected in V2.  See
1464         // https://cloud.google.com/apis/design/standard_methods#update for details.
1465         UpdateSnapshot(ctx context.Context, in *UpdateSnapshotRequest, opts ...grpc.CallOption) (*Snapshot, error)
1466         // Removes an existing snapshot. All messages retained in the snapshot
1467         // are immediately dropped. After a snapshot is deleted, a new one may be
1468         // created with the same name, but the new one has no association with the old
1469         // snapshot or its subscription, unless the same subscription is specified.
1470         DeleteSnapshot(ctx context.Context, in *DeleteSnapshotRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error)
1471         // Seeks an existing subscription to a point in time or to a given snapshot,
1472         // whichever is provided in the request.
1473         Seek(ctx context.Context, in *SeekRequest, opts ...grpc.CallOption) (*SeekResponse, error)
1474 }
1475
1476 type subscriberClient struct {
1477         cc *grpc.ClientConn
1478 }
1479
1480 func NewSubscriberClient(cc *grpc.ClientConn) SubscriberClient {
1481         return &subscriberClient{cc}
1482 }
1483
1484 func (c *subscriberClient) CreateSubscription(ctx context.Context, in *Subscription, opts ...grpc.CallOption) (*Subscription, error) {
1485         out := new(Subscription)
1486         err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/CreateSubscription", in, out, c.cc, opts...)
1487         if err != nil {
1488                 return nil, err
1489         }
1490         return out, nil
1491 }
1492
1493 func (c *subscriberClient) GetSubscription(ctx context.Context, in *GetSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error) {
1494         out := new(Subscription)
1495         err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/GetSubscription", in, out, c.cc, opts...)
1496         if err != nil {
1497                 return nil, err
1498         }
1499         return out, nil
1500 }
1501
1502 func (c *subscriberClient) UpdateSubscription(ctx context.Context, in *UpdateSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error) {
1503         out := new(Subscription)
1504         err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/UpdateSubscription", in, out, c.cc, opts...)
1505         if err != nil {
1506                 return nil, err
1507         }
1508         return out, nil
1509 }
1510
1511 func (c *subscriberClient) ListSubscriptions(ctx context.Context, in *ListSubscriptionsRequest, opts ...grpc.CallOption) (*ListSubscriptionsResponse, error) {
1512         out := new(ListSubscriptionsResponse)
1513         err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/ListSubscriptions", in, out, c.cc, opts...)
1514         if err != nil {
1515                 return nil, err
1516         }
1517         return out, nil
1518 }
1519
1520 func (c *subscriberClient) DeleteSubscription(ctx context.Context, in *DeleteSubscriptionRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
1521         out := new(google_protobuf2.Empty)
1522         err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/DeleteSubscription", in, out, c.cc, opts...)
1523         if err != nil {
1524                 return nil, err
1525         }
1526         return out, nil
1527 }
1528
1529 func (c *subscriberClient) ModifyAckDeadline(ctx context.Context, in *ModifyAckDeadlineRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
1530         out := new(google_protobuf2.Empty)
1531         err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/ModifyAckDeadline", in, out, c.cc, opts...)
1532         if err != nil {
1533                 return nil, err
1534         }
1535         return out, nil
1536 }
1537
1538 func (c *subscriberClient) Acknowledge(ctx context.Context, in *AcknowledgeRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
1539         out := new(google_protobuf2.Empty)
1540         err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/Acknowledge", in, out, c.cc, opts...)
1541         if err != nil {
1542                 return nil, err
1543         }
1544         return out, nil
1545 }
1546
1547 func (c *subscriberClient) Pull(ctx context.Context, in *PullRequest, opts ...grpc.CallOption) (*PullResponse, error) {
1548         out := new(PullResponse)
1549         err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/Pull", in, out, c.cc, opts...)
1550         if err != nil {
1551                 return nil, err
1552         }
1553         return out, nil
1554 }
1555
1556 func (c *subscriberClient) StreamingPull(ctx context.Context, opts ...grpc.CallOption) (Subscriber_StreamingPullClient, error) {
1557         stream, err := grpc.NewClientStream(ctx, &_Subscriber_serviceDesc.Streams[0], c.cc, "/google.pubsub.v1.Subscriber/StreamingPull", opts...)
1558         if err != nil {
1559                 return nil, err
1560         }
1561         x := &subscriberStreamingPullClient{stream}
1562         return x, nil
1563 }
1564
1565 type Subscriber_StreamingPullClient interface {
1566         Send(*StreamingPullRequest) error
1567         Recv() (*StreamingPullResponse, error)
1568         grpc.ClientStream
1569 }
1570
1571 type subscriberStreamingPullClient struct {
1572         grpc.ClientStream
1573 }
1574
1575 func (x *subscriberStreamingPullClient) Send(m *StreamingPullRequest) error {
1576         return x.ClientStream.SendMsg(m)
1577 }
1578
1579 func (x *subscriberStreamingPullClient) Recv() (*StreamingPullResponse, error) {
1580         m := new(StreamingPullResponse)
1581         if err := x.ClientStream.RecvMsg(m); err != nil {
1582                 return nil, err
1583         }
1584         return m, nil
1585 }
1586
1587 func (c *subscriberClient) ModifyPushConfig(ctx context.Context, in *ModifyPushConfigRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
1588         out := new(google_protobuf2.Empty)
1589         err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/ModifyPushConfig", in, out, c.cc, opts...)
1590         if err != nil {
1591                 return nil, err
1592         }
1593         return out, nil
1594 }
1595
1596 func (c *subscriberClient) ListSnapshots(ctx context.Context, in *ListSnapshotsRequest, opts ...grpc.CallOption) (*ListSnapshotsResponse, error) {
1597         out := new(ListSnapshotsResponse)
1598         err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/ListSnapshots", in, out, c.cc, opts...)
1599         if err != nil {
1600                 return nil, err
1601         }
1602         return out, nil
1603 }
1604
1605 func (c *subscriberClient) CreateSnapshot(ctx context.Context, in *CreateSnapshotRequest, opts ...grpc.CallOption) (*Snapshot, error) {
1606         out := new(Snapshot)
1607         err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/CreateSnapshot", in, out, c.cc, opts...)
1608         if err != nil {
1609                 return nil, err
1610         }
1611         return out, nil
1612 }
1613
1614 func (c *subscriberClient) UpdateSnapshot(ctx context.Context, in *UpdateSnapshotRequest, opts ...grpc.CallOption) (*Snapshot, error) {
1615         out := new(Snapshot)
1616         err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/UpdateSnapshot", in, out, c.cc, opts...)
1617         if err != nil {
1618                 return nil, err
1619         }
1620         return out, nil
1621 }
1622
1623 func (c *subscriberClient) DeleteSnapshot(ctx context.Context, in *DeleteSnapshotRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
1624         out := new(google_protobuf2.Empty)
1625         err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/DeleteSnapshot", in, out, c.cc, opts...)
1626         if err != nil {
1627                 return nil, err
1628         }
1629         return out, nil
1630 }
1631
1632 func (c *subscriberClient) Seek(ctx context.Context, in *SeekRequest, opts ...grpc.CallOption) (*SeekResponse, error) {
1633         out := new(SeekResponse)
1634         err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/Seek", in, out, c.cc, opts...)
1635         if err != nil {
1636                 return nil, err
1637         }
1638         return out, nil
1639 }
1640
1641 // Server API for Subscriber service
1642
1643 type SubscriberServer interface {
1644         // Creates a subscription to a given topic.
1645         // If the subscription already exists, returns `ALREADY_EXISTS`.
1646         // If the corresponding topic doesn't exist, returns `NOT_FOUND`.
1647         //
1648         // If the name is not provided in the request, the server will assign a random
1649         // name for this subscription on the same project as the topic, conforming
1650         // to the
1651         // [resource name format](https://cloud.google.com/pubsub/docs/overview#names).
1652         // The generated name is populated in the returned Subscription object.
1653         // Note that for REST API requests, you must specify a name in the request.
1654         CreateSubscription(context.Context, *Subscription) (*Subscription, error)
1655         // Gets the configuration details of a subscription.
1656         GetSubscription(context.Context, *GetSubscriptionRequest) (*Subscription, error)
1657         // Updates an existing subscription. Note that certain properties of a
1658         // subscription, such as its topic, are not modifiable.
1659         // NOTE:  The style guide requires body: "subscription" instead of body: "*".
1660         // Keeping the latter for internal consistency in V1, however it should be
1661         // corrected in V2.  See
1662         // https://cloud.google.com/apis/design/standard_methods#update for details.
1663         UpdateSubscription(context.Context, *UpdateSubscriptionRequest) (*Subscription, error)
1664         // Lists matching subscriptions.
1665         ListSubscriptions(context.Context, *ListSubscriptionsRequest) (*ListSubscriptionsResponse, error)
1666         // Deletes an existing subscription. All messages retained in the subscription
1667         // are immediately dropped. Calls to `Pull` after deletion will return
1668         // `NOT_FOUND`. After a subscription is deleted, a new one may be created with
1669         // the same name, but the new one has no association with the old
1670         // subscription or its topic unless the same topic is specified.
1671         DeleteSubscription(context.Context, *DeleteSubscriptionRequest) (*google_protobuf2.Empty, error)
1672         // Modifies the ack deadline for a specific message. This method is useful
1673         // to indicate that more time is needed to process a message by the
1674         // subscriber, or to make the message available for redelivery if the
1675         // processing was interrupted. Note that this does not modify the
1676         // subscription-level `ackDeadlineSeconds` used for subsequent messages.
1677         ModifyAckDeadline(context.Context, *ModifyAckDeadlineRequest) (*google_protobuf2.Empty, error)
1678         // Acknowledges the messages associated with the `ack_ids` in the
1679         // `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages
1680         // from the subscription.
1681         //
1682         // Acknowledging a message whose ack deadline has expired may succeed,
1683         // but such a message may be redelivered later. Acknowledging a message more
1684         // than once will not result in an error.
1685         Acknowledge(context.Context, *AcknowledgeRequest) (*google_protobuf2.Empty, error)
1686         // Pulls messages from the server. Returns an empty list if there are no
1687         // messages available in the backlog. The server may return `UNAVAILABLE` if
1688         // there are too many concurrent pull requests pending for the given
1689         // subscription.
1690         Pull(context.Context, *PullRequest) (*PullResponse, error)
1691         // (EXPERIMENTAL) StreamingPull is an experimental feature. This RPC will
1692         // respond with UNIMPLEMENTED errors unless you have been invited to test
1693         // this feature. Contact cloud-pubsub@google.com with any questions.
1694         //
1695         // Establishes a stream with the server, which sends messages down to the
1696         // client. The client streams acknowledgements and ack deadline modifications
1697         // back to the server. The server will close the stream and return the status
1698         // on any error. The server may close the stream with status `OK` to reassign
1699         // server-side resources, in which case, the client should re-establish the
1700         // stream. `UNAVAILABLE` may also be returned in the case of a transient error
1701         // (e.g., a server restart). These should also be retried by the client. Flow
1702         // control can be achieved by configuring the underlying RPC channel.
1703         StreamingPull(Subscriber_StreamingPullServer) error
1704         // Modifies the `PushConfig` for a specified subscription.
1705         //
1706         // This may be used to change a push subscription to a pull one (signified by
1707         // an empty `PushConfig`) or vice versa, or change the endpoint URL and other
1708         // attributes of a push subscription. Messages will accumulate for delivery
1709         // continuously through the call regardless of changes to the `PushConfig`.
1710         ModifyPushConfig(context.Context, *ModifyPushConfigRequest) (*google_protobuf2.Empty, error)
1711         // Lists the existing snapshots.
1712         ListSnapshots(context.Context, *ListSnapshotsRequest) (*ListSnapshotsResponse, error)
1713         // Creates a snapshot from the requested subscription.
1714         // If the snapshot already exists, returns `ALREADY_EXISTS`.
1715         // If the requested subscription doesn't exist, returns `NOT_FOUND`.
1716         //
1717         // If the name is not provided in the request, the server will assign a random
1718         // name for this snapshot on the same project as the subscription, conforming
1719         // to the
1720         // [resource name format](https://cloud.google.com/pubsub/docs/overview#names).
1721         // The generated name is populated in the returned Snapshot object.
1722         // Note that for REST API requests, you must specify a name in the request.
1723         CreateSnapshot(context.Context, *CreateSnapshotRequest) (*Snapshot, error)
1724         // Updates an existing snapshot. Note that certain properties of a snapshot
1725         // are not modifiable.
1726         // NOTE:  The style guide requires body: "snapshot" instead of body: "*".
1727         // Keeping the latter for internal consistency in V1, however it should be
1728         // corrected in V2.  See
1729         // https://cloud.google.com/apis/design/standard_methods#update for details.
1730         UpdateSnapshot(context.Context, *UpdateSnapshotRequest) (*Snapshot, error)
1731         // Removes an existing snapshot. All messages retained in the snapshot
1732         // are immediately dropped. After a snapshot is deleted, a new one may be
1733         // created with the same name, but the new one has no association with the old
1734         // snapshot or its subscription, unless the same subscription is specified.
1735         DeleteSnapshot(context.Context, *DeleteSnapshotRequest) (*google_protobuf2.Empty, error)
1736         // Seeks an existing subscription to a point in time or to a given snapshot,
1737         // whichever is provided in the request.
1738         Seek(context.Context, *SeekRequest) (*SeekResponse, error)
1739 }
1740
1741 func RegisterSubscriberServer(s *grpc.Server, srv SubscriberServer) {
1742         s.RegisterService(&_Subscriber_serviceDesc, srv)
1743 }
1744
1745 func _Subscriber_CreateSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1746         in := new(Subscription)
1747         if err := dec(in); err != nil {
1748                 return nil, err
1749         }
1750         if interceptor == nil {
1751                 return srv.(SubscriberServer).CreateSubscription(ctx, in)
1752         }
1753         info := &grpc.UnaryServerInfo{
1754                 Server:     srv,
1755                 FullMethod: "/google.pubsub.v1.Subscriber/CreateSubscription",
1756         }
1757         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1758                 return srv.(SubscriberServer).CreateSubscription(ctx, req.(*Subscription))
1759         }
1760         return interceptor(ctx, in, info, handler)
1761 }
1762
1763 func _Subscriber_GetSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1764         in := new(GetSubscriptionRequest)
1765         if err := dec(in); err != nil {
1766                 return nil, err
1767         }
1768         if interceptor == nil {
1769                 return srv.(SubscriberServer).GetSubscription(ctx, in)
1770         }
1771         info := &grpc.UnaryServerInfo{
1772                 Server:     srv,
1773                 FullMethod: "/google.pubsub.v1.Subscriber/GetSubscription",
1774         }
1775         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1776                 return srv.(SubscriberServer).GetSubscription(ctx, req.(*GetSubscriptionRequest))
1777         }
1778         return interceptor(ctx, in, info, handler)
1779 }
1780
1781 func _Subscriber_UpdateSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1782         in := new(UpdateSubscriptionRequest)
1783         if err := dec(in); err != nil {
1784                 return nil, err
1785         }
1786         if interceptor == nil {
1787                 return srv.(SubscriberServer).UpdateSubscription(ctx, in)
1788         }
1789         info := &grpc.UnaryServerInfo{
1790                 Server:     srv,
1791                 FullMethod: "/google.pubsub.v1.Subscriber/UpdateSubscription",
1792         }
1793         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1794                 return srv.(SubscriberServer).UpdateSubscription(ctx, req.(*UpdateSubscriptionRequest))
1795         }
1796         return interceptor(ctx, in, info, handler)
1797 }
1798
1799 func _Subscriber_ListSubscriptions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1800         in := new(ListSubscriptionsRequest)
1801         if err := dec(in); err != nil {
1802                 return nil, err
1803         }
1804         if interceptor == nil {
1805                 return srv.(SubscriberServer).ListSubscriptions(ctx, in)
1806         }
1807         info := &grpc.UnaryServerInfo{
1808                 Server:     srv,
1809                 FullMethod: "/google.pubsub.v1.Subscriber/ListSubscriptions",
1810         }
1811         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1812                 return srv.(SubscriberServer).ListSubscriptions(ctx, req.(*ListSubscriptionsRequest))
1813         }
1814         return interceptor(ctx, in, info, handler)
1815 }
1816
1817 func _Subscriber_DeleteSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1818         in := new(DeleteSubscriptionRequest)
1819         if err := dec(in); err != nil {
1820                 return nil, err
1821         }
1822         if interceptor == nil {
1823                 return srv.(SubscriberServer).DeleteSubscription(ctx, in)
1824         }
1825         info := &grpc.UnaryServerInfo{
1826                 Server:     srv,
1827                 FullMethod: "/google.pubsub.v1.Subscriber/DeleteSubscription",
1828         }
1829         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1830                 return srv.(SubscriberServer).DeleteSubscription(ctx, req.(*DeleteSubscriptionRequest))
1831         }
1832         return interceptor(ctx, in, info, handler)
1833 }
1834
1835 func _Subscriber_ModifyAckDeadline_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1836         in := new(ModifyAckDeadlineRequest)
1837         if err := dec(in); err != nil {
1838                 return nil, err
1839         }
1840         if interceptor == nil {
1841                 return srv.(SubscriberServer).ModifyAckDeadline(ctx, in)
1842         }
1843         info := &grpc.UnaryServerInfo{
1844                 Server:     srv,
1845                 FullMethod: "/google.pubsub.v1.Subscriber/ModifyAckDeadline",
1846         }
1847         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1848                 return srv.(SubscriberServer).ModifyAckDeadline(ctx, req.(*ModifyAckDeadlineRequest))
1849         }
1850         return interceptor(ctx, in, info, handler)
1851 }
1852
1853 func _Subscriber_Acknowledge_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1854         in := new(AcknowledgeRequest)
1855         if err := dec(in); err != nil {
1856                 return nil, err
1857         }
1858         if interceptor == nil {
1859                 return srv.(SubscriberServer).Acknowledge(ctx, in)
1860         }
1861         info := &grpc.UnaryServerInfo{
1862                 Server:     srv,
1863                 FullMethod: "/google.pubsub.v1.Subscriber/Acknowledge",
1864         }
1865         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1866                 return srv.(SubscriberServer).Acknowledge(ctx, req.(*AcknowledgeRequest))
1867         }
1868         return interceptor(ctx, in, info, handler)
1869 }
1870
1871 func _Subscriber_Pull_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1872         in := new(PullRequest)
1873         if err := dec(in); err != nil {
1874                 return nil, err
1875         }
1876         if interceptor == nil {
1877                 return srv.(SubscriberServer).Pull(ctx, in)
1878         }
1879         info := &grpc.UnaryServerInfo{
1880                 Server:     srv,
1881                 FullMethod: "/google.pubsub.v1.Subscriber/Pull",
1882         }
1883         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1884                 return srv.(SubscriberServer).Pull(ctx, req.(*PullRequest))
1885         }
1886         return interceptor(ctx, in, info, handler)
1887 }
1888
1889 func _Subscriber_StreamingPull_Handler(srv interface{}, stream grpc.ServerStream) error {
1890         return srv.(SubscriberServer).StreamingPull(&subscriberStreamingPullServer{stream})
1891 }
1892
1893 type Subscriber_StreamingPullServer interface {
1894         Send(*StreamingPullResponse) error
1895         Recv() (*StreamingPullRequest, error)
1896         grpc.ServerStream
1897 }
1898
1899 type subscriberStreamingPullServer struct {
1900         grpc.ServerStream
1901 }
1902
1903 func (x *subscriberStreamingPullServer) Send(m *StreamingPullResponse) error {
1904         return x.ServerStream.SendMsg(m)
1905 }
1906
1907 func (x *subscriberStreamingPullServer) Recv() (*StreamingPullRequest, error) {
1908         m := new(StreamingPullRequest)
1909         if err := x.ServerStream.RecvMsg(m); err != nil {
1910                 return nil, err
1911         }
1912         return m, nil
1913 }
1914
1915 func _Subscriber_ModifyPushConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1916         in := new(ModifyPushConfigRequest)
1917         if err := dec(in); err != nil {
1918                 return nil, err
1919         }
1920         if interceptor == nil {
1921                 return srv.(SubscriberServer).ModifyPushConfig(ctx, in)
1922         }
1923         info := &grpc.UnaryServerInfo{
1924                 Server:     srv,
1925                 FullMethod: "/google.pubsub.v1.Subscriber/ModifyPushConfig",
1926         }
1927         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1928                 return srv.(SubscriberServer).ModifyPushConfig(ctx, req.(*ModifyPushConfigRequest))
1929         }
1930         return interceptor(ctx, in, info, handler)
1931 }
1932
1933 func _Subscriber_ListSnapshots_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1934         in := new(ListSnapshotsRequest)
1935         if err := dec(in); err != nil {
1936                 return nil, err
1937         }
1938         if interceptor == nil {
1939                 return srv.(SubscriberServer).ListSnapshots(ctx, in)
1940         }
1941         info := &grpc.UnaryServerInfo{
1942                 Server:     srv,
1943                 FullMethod: "/google.pubsub.v1.Subscriber/ListSnapshots",
1944         }
1945         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1946                 return srv.(SubscriberServer).ListSnapshots(ctx, req.(*ListSnapshotsRequest))
1947         }
1948         return interceptor(ctx, in, info, handler)
1949 }
1950
1951 func _Subscriber_CreateSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1952         in := new(CreateSnapshotRequest)
1953         if err := dec(in); err != nil {
1954                 return nil, err
1955         }
1956         if interceptor == nil {
1957                 return srv.(SubscriberServer).CreateSnapshot(ctx, in)
1958         }
1959         info := &grpc.UnaryServerInfo{
1960                 Server:     srv,
1961                 FullMethod: "/google.pubsub.v1.Subscriber/CreateSnapshot",
1962         }
1963         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1964                 return srv.(SubscriberServer).CreateSnapshot(ctx, req.(*CreateSnapshotRequest))
1965         }
1966         return interceptor(ctx, in, info, handler)
1967 }
1968
1969 func _Subscriber_UpdateSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1970         in := new(UpdateSnapshotRequest)
1971         if err := dec(in); err != nil {
1972                 return nil, err
1973         }
1974         if interceptor == nil {
1975                 return srv.(SubscriberServer).UpdateSnapshot(ctx, in)
1976         }
1977         info := &grpc.UnaryServerInfo{
1978                 Server:     srv,
1979                 FullMethod: "/google.pubsub.v1.Subscriber/UpdateSnapshot",
1980         }
1981         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1982                 return srv.(SubscriberServer).UpdateSnapshot(ctx, req.(*UpdateSnapshotRequest))
1983         }
1984         return interceptor(ctx, in, info, handler)
1985 }
1986
1987 func _Subscriber_DeleteSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1988         in := new(DeleteSnapshotRequest)
1989         if err := dec(in); err != nil {
1990                 return nil, err
1991         }
1992         if interceptor == nil {
1993                 return srv.(SubscriberServer).DeleteSnapshot(ctx, in)
1994         }
1995         info := &grpc.UnaryServerInfo{
1996                 Server:     srv,
1997                 FullMethod: "/google.pubsub.v1.Subscriber/DeleteSnapshot",
1998         }
1999         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2000                 return srv.(SubscriberServer).DeleteSnapshot(ctx, req.(*DeleteSnapshotRequest))
2001         }
2002         return interceptor(ctx, in, info, handler)
2003 }
2004
2005 func _Subscriber_Seek_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2006         in := new(SeekRequest)
2007         if err := dec(in); err != nil {
2008                 return nil, err
2009         }
2010         if interceptor == nil {
2011                 return srv.(SubscriberServer).Seek(ctx, in)
2012         }
2013         info := &grpc.UnaryServerInfo{
2014                 Server:     srv,
2015                 FullMethod: "/google.pubsub.v1.Subscriber/Seek",
2016         }
2017         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2018                 return srv.(SubscriberServer).Seek(ctx, req.(*SeekRequest))
2019         }
2020         return interceptor(ctx, in, info, handler)
2021 }
2022
2023 var _Subscriber_serviceDesc = grpc.ServiceDesc{
2024         ServiceName: "google.pubsub.v1.Subscriber",
2025         HandlerType: (*SubscriberServer)(nil),
2026         Methods: []grpc.MethodDesc{
2027                 {
2028                         MethodName: "CreateSubscription",
2029                         Handler:    _Subscriber_CreateSubscription_Handler,
2030                 },
2031                 {
2032                         MethodName: "GetSubscription",
2033                         Handler:    _Subscriber_GetSubscription_Handler,
2034                 },
2035                 {
2036                         MethodName: "UpdateSubscription",
2037                         Handler:    _Subscriber_UpdateSubscription_Handler,
2038                 },
2039                 {
2040                         MethodName: "ListSubscriptions",
2041                         Handler:    _Subscriber_ListSubscriptions_Handler,
2042                 },
2043                 {
2044                         MethodName: "DeleteSubscription",
2045                         Handler:    _Subscriber_DeleteSubscription_Handler,
2046                 },
2047                 {
2048                         MethodName: "ModifyAckDeadline",
2049                         Handler:    _Subscriber_ModifyAckDeadline_Handler,
2050                 },
2051                 {
2052                         MethodName: "Acknowledge",
2053                         Handler:    _Subscriber_Acknowledge_Handler,
2054                 },
2055                 {
2056                         MethodName: "Pull",
2057                         Handler:    _Subscriber_Pull_Handler,
2058                 },
2059                 {
2060                         MethodName: "ModifyPushConfig",
2061                         Handler:    _Subscriber_ModifyPushConfig_Handler,
2062                 },
2063                 {
2064                         MethodName: "ListSnapshots",
2065                         Handler:    _Subscriber_ListSnapshots_Handler,
2066                 },
2067                 {
2068                         MethodName: "CreateSnapshot",
2069                         Handler:    _Subscriber_CreateSnapshot_Handler,
2070                 },
2071                 {
2072                         MethodName: "UpdateSnapshot",
2073                         Handler:    _Subscriber_UpdateSnapshot_Handler,
2074                 },
2075                 {
2076                         MethodName: "DeleteSnapshot",
2077                         Handler:    _Subscriber_DeleteSnapshot_Handler,
2078                 },
2079                 {
2080                         MethodName: "Seek",
2081                         Handler:    _Subscriber_Seek_Handler,
2082                 },
2083         },
2084         Streams: []grpc.StreamDesc{
2085                 {
2086                         StreamName:    "StreamingPull",
2087                         Handler:       _Subscriber_StreamingPull_Handler,
2088                         ServerStreams: true,
2089                         ClientStreams: true,
2090                 },
2091         },
2092         Metadata: "google/pubsub/v1/pubsub.proto",
2093 }
2094
2095 // Client API for Publisher service
2096
2097 type PublisherClient interface {
2098         // Creates the given topic with the given name.
2099         CreateTopic(ctx context.Context, in *Topic, opts ...grpc.CallOption) (*Topic, error)
2100         // Updates an existing topic. Note that certain properties of a topic are not
2101         // modifiable.  Options settings follow the style guide:
2102         // NOTE:  The style guide requires body: "topic" instead of body: "*".
2103         // Keeping the latter for internal consistency in V1, however it should be
2104         // corrected in V2.  See
2105         // https://cloud.google.com/apis/design/standard_methods#update for details.
2106         UpdateTopic(ctx context.Context, in *UpdateTopicRequest, opts ...grpc.CallOption) (*Topic, error)
2107         // Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic
2108         // does not exist. The message payload must not be empty; it must contain
2109         //  either a non-empty data field, or at least one attribute.
2110         Publish(ctx context.Context, in *PublishRequest, opts ...grpc.CallOption) (*PublishResponse, error)
2111         // Gets the configuration of a topic.
2112         GetTopic(ctx context.Context, in *GetTopicRequest, opts ...grpc.CallOption) (*Topic, error)
2113         // Lists matching topics.
2114         ListTopics(ctx context.Context, in *ListTopicsRequest, opts ...grpc.CallOption) (*ListTopicsResponse, error)
2115         // Lists the name of the subscriptions for this topic.
2116         ListTopicSubscriptions(ctx context.Context, in *ListTopicSubscriptionsRequest, opts ...grpc.CallOption) (*ListTopicSubscriptionsResponse, error)
2117         // Deletes the topic with the given name. Returns `NOT_FOUND` if the topic
2118         // does not exist. After a topic is deleted, a new topic may be created with
2119         // the same name; this is an entirely new topic with none of the old
2120         // configuration or subscriptions. Existing subscriptions to this topic are
2121         // not deleted, but their `topic` field is set to `_deleted-topic_`.
2122         DeleteTopic(ctx context.Context, in *DeleteTopicRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error)
2123 }
2124
2125 type publisherClient struct {
2126         cc *grpc.ClientConn
2127 }
2128
2129 func NewPublisherClient(cc *grpc.ClientConn) PublisherClient {
2130         return &publisherClient{cc}
2131 }
2132
2133 func (c *publisherClient) CreateTopic(ctx context.Context, in *Topic, opts ...grpc.CallOption) (*Topic, error) {
2134         out := new(Topic)
2135         err := grpc.Invoke(ctx, "/google.pubsub.v1.Publisher/CreateTopic", in, out, c.cc, opts...)
2136         if err != nil {
2137                 return nil, err
2138         }
2139         return out, nil
2140 }
2141
2142 func (c *publisherClient) UpdateTopic(ctx context.Context, in *UpdateTopicRequest, opts ...grpc.CallOption) (*Topic, error) {
2143         out := new(Topic)
2144         err := grpc.Invoke(ctx, "/google.pubsub.v1.Publisher/UpdateTopic", in, out, c.cc, opts...)
2145         if err != nil {
2146                 return nil, err
2147         }
2148         return out, nil
2149 }
2150
2151 func (c *publisherClient) Publish(ctx context.Context, in *PublishRequest, opts ...grpc.CallOption) (*PublishResponse, error) {
2152         out := new(PublishResponse)
2153         err := grpc.Invoke(ctx, "/google.pubsub.v1.Publisher/Publish", in, out, c.cc, opts...)
2154         if err != nil {
2155                 return nil, err
2156         }
2157         return out, nil
2158 }
2159
2160 func (c *publisherClient) GetTopic(ctx context.Context, in *GetTopicRequest, opts ...grpc.CallOption) (*Topic, error) {
2161         out := new(Topic)
2162         err := grpc.Invoke(ctx, "/google.pubsub.v1.Publisher/GetTopic", in, out, c.cc, opts...)
2163         if err != nil {
2164                 return nil, err
2165         }
2166         return out, nil
2167 }
2168
2169 func (c *publisherClient) ListTopics(ctx context.Context, in *ListTopicsRequest, opts ...grpc.CallOption) (*ListTopicsResponse, error) {
2170         out := new(ListTopicsResponse)
2171         err := grpc.Invoke(ctx, "/google.pubsub.v1.Publisher/ListTopics", in, out, c.cc, opts...)
2172         if err != nil {
2173                 return nil, err
2174         }
2175         return out, nil
2176 }
2177
2178 func (c *publisherClient) ListTopicSubscriptions(ctx context.Context, in *ListTopicSubscriptionsRequest, opts ...grpc.CallOption) (*ListTopicSubscriptionsResponse, error) {
2179         out := new(ListTopicSubscriptionsResponse)
2180         err := grpc.Invoke(ctx, "/google.pubsub.v1.Publisher/ListTopicSubscriptions", in, out, c.cc, opts...)
2181         if err != nil {
2182                 return nil, err
2183         }
2184         return out, nil
2185 }
2186
2187 func (c *publisherClient) DeleteTopic(ctx context.Context, in *DeleteTopicRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
2188         out := new(google_protobuf2.Empty)
2189         err := grpc.Invoke(ctx, "/google.pubsub.v1.Publisher/DeleteTopic", in, out, c.cc, opts...)
2190         if err != nil {
2191                 return nil, err
2192         }
2193         return out, nil
2194 }
2195
2196 // Server API for Publisher service
2197
2198 type PublisherServer interface {
2199         // Creates the given topic with the given name.
2200         CreateTopic(context.Context, *Topic) (*Topic, error)
2201         // Updates an existing topic. Note that certain properties of a topic are not
2202         // modifiable.  Options settings follow the style guide:
2203         // NOTE:  The style guide requires body: "topic" instead of body: "*".
2204         // Keeping the latter for internal consistency in V1, however it should be
2205         // corrected in V2.  See
2206         // https://cloud.google.com/apis/design/standard_methods#update for details.
2207         UpdateTopic(context.Context, *UpdateTopicRequest) (*Topic, error)
2208         // Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic
2209         // does not exist. The message payload must not be empty; it must contain
2210         //  either a non-empty data field, or at least one attribute.
2211         Publish(context.Context, *PublishRequest) (*PublishResponse, error)
2212         // Gets the configuration of a topic.
2213         GetTopic(context.Context, *GetTopicRequest) (*Topic, error)
2214         // Lists matching topics.
2215         ListTopics(context.Context, *ListTopicsRequest) (*ListTopicsResponse, error)
2216         // Lists the name of the subscriptions for this topic.
2217         ListTopicSubscriptions(context.Context, *ListTopicSubscriptionsRequest) (*ListTopicSubscriptionsResponse, error)
2218         // Deletes the topic with the given name. Returns `NOT_FOUND` if the topic
2219         // does not exist. After a topic is deleted, a new topic may be created with
2220         // the same name; this is an entirely new topic with none of the old
2221         // configuration or subscriptions. Existing subscriptions to this topic are
2222         // not deleted, but their `topic` field is set to `_deleted-topic_`.
2223         DeleteTopic(context.Context, *DeleteTopicRequest) (*google_protobuf2.Empty, error)
2224 }
2225
2226 func RegisterPublisherServer(s *grpc.Server, srv PublisherServer) {
2227         s.RegisterService(&_Publisher_serviceDesc, srv)
2228 }
2229
2230 func _Publisher_CreateTopic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2231         in := new(Topic)
2232         if err := dec(in); err != nil {
2233                 return nil, err
2234         }
2235         if interceptor == nil {
2236                 return srv.(PublisherServer).CreateTopic(ctx, in)
2237         }
2238         info := &grpc.UnaryServerInfo{
2239                 Server:     srv,
2240                 FullMethod: "/google.pubsub.v1.Publisher/CreateTopic",
2241         }
2242         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2243                 return srv.(PublisherServer).CreateTopic(ctx, req.(*Topic))
2244         }
2245         return interceptor(ctx, in, info, handler)
2246 }
2247
2248 func _Publisher_UpdateTopic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2249         in := new(UpdateTopicRequest)
2250         if err := dec(in); err != nil {
2251                 return nil, err
2252         }
2253         if interceptor == nil {
2254                 return srv.(PublisherServer).UpdateTopic(ctx, in)
2255         }
2256         info := &grpc.UnaryServerInfo{
2257                 Server:     srv,
2258                 FullMethod: "/google.pubsub.v1.Publisher/UpdateTopic",
2259         }
2260         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2261                 return srv.(PublisherServer).UpdateTopic(ctx, req.(*UpdateTopicRequest))
2262         }
2263         return interceptor(ctx, in, info, handler)
2264 }
2265
2266 func _Publisher_Publish_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2267         in := new(PublishRequest)
2268         if err := dec(in); err != nil {
2269                 return nil, err
2270         }
2271         if interceptor == nil {
2272                 return srv.(PublisherServer).Publish(ctx, in)
2273         }
2274         info := &grpc.UnaryServerInfo{
2275                 Server:     srv,
2276                 FullMethod: "/google.pubsub.v1.Publisher/Publish",
2277         }
2278         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2279                 return srv.(PublisherServer).Publish(ctx, req.(*PublishRequest))
2280         }
2281         return interceptor(ctx, in, info, handler)
2282 }
2283
2284 func _Publisher_GetTopic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2285         in := new(GetTopicRequest)
2286         if err := dec(in); err != nil {
2287                 return nil, err
2288         }
2289         if interceptor == nil {
2290                 return srv.(PublisherServer).GetTopic(ctx, in)
2291         }
2292         info := &grpc.UnaryServerInfo{
2293                 Server:     srv,
2294                 FullMethod: "/google.pubsub.v1.Publisher/GetTopic",
2295         }
2296         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2297                 return srv.(PublisherServer).GetTopic(ctx, req.(*GetTopicRequest))
2298         }
2299         return interceptor(ctx, in, info, handler)
2300 }
2301
2302 func _Publisher_ListTopics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2303         in := new(ListTopicsRequest)
2304         if err := dec(in); err != nil {
2305                 return nil, err
2306         }
2307         if interceptor == nil {
2308                 return srv.(PublisherServer).ListTopics(ctx, in)
2309         }
2310         info := &grpc.UnaryServerInfo{
2311                 Server:     srv,
2312                 FullMethod: "/google.pubsub.v1.Publisher/ListTopics",
2313         }
2314         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2315                 return srv.(PublisherServer).ListTopics(ctx, req.(*ListTopicsRequest))
2316         }
2317         return interceptor(ctx, in, info, handler)
2318 }
2319
2320 func _Publisher_ListTopicSubscriptions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2321         in := new(ListTopicSubscriptionsRequest)
2322         if err := dec(in); err != nil {
2323                 return nil, err
2324         }
2325         if interceptor == nil {
2326                 return srv.(PublisherServer).ListTopicSubscriptions(ctx, in)
2327         }
2328         info := &grpc.UnaryServerInfo{
2329                 Server:     srv,
2330                 FullMethod: "/google.pubsub.v1.Publisher/ListTopicSubscriptions",
2331         }
2332         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2333                 return srv.(PublisherServer).ListTopicSubscriptions(ctx, req.(*ListTopicSubscriptionsRequest))
2334         }
2335         return interceptor(ctx, in, info, handler)
2336 }
2337
2338 func _Publisher_DeleteTopic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2339         in := new(DeleteTopicRequest)
2340         if err := dec(in); err != nil {
2341                 return nil, err
2342         }
2343         if interceptor == nil {
2344                 return srv.(PublisherServer).DeleteTopic(ctx, in)
2345         }
2346         info := &grpc.UnaryServerInfo{
2347                 Server:     srv,
2348                 FullMethod: "/google.pubsub.v1.Publisher/DeleteTopic",
2349         }
2350         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2351                 return srv.(PublisherServer).DeleteTopic(ctx, req.(*DeleteTopicRequest))
2352         }
2353         return interceptor(ctx, in, info, handler)
2354 }
2355
2356 var _Publisher_serviceDesc = grpc.ServiceDesc{
2357         ServiceName: "google.pubsub.v1.Publisher",
2358         HandlerType: (*PublisherServer)(nil),
2359         Methods: []grpc.MethodDesc{
2360                 {
2361                         MethodName: "CreateTopic",
2362                         Handler:    _Publisher_CreateTopic_Handler,
2363                 },
2364                 {
2365                         MethodName: "UpdateTopic",
2366                         Handler:    _Publisher_UpdateTopic_Handler,
2367                 },
2368                 {
2369                         MethodName: "Publish",
2370                         Handler:    _Publisher_Publish_Handler,
2371                 },
2372                 {
2373                         MethodName: "GetTopic",
2374                         Handler:    _Publisher_GetTopic_Handler,
2375                 },
2376                 {
2377                         MethodName: "ListTopics",
2378                         Handler:    _Publisher_ListTopics_Handler,
2379                 },
2380                 {
2381                         MethodName: "ListTopicSubscriptions",
2382                         Handler:    _Publisher_ListTopicSubscriptions_Handler,
2383                 },
2384                 {
2385                         MethodName: "DeleteTopic",
2386                         Handler:    _Publisher_DeleteTopic_Handler,
2387                 },
2388         },
2389         Streams:  []grpc.StreamDesc{},
2390         Metadata: "google/pubsub/v1/pubsub.proto",
2391 }
2392
2393 func init() { proto.RegisterFile("google/pubsub/v1/pubsub.proto", fileDescriptor0) }
2394
2395 var fileDescriptor0 = []byte{
2396         // 2011 bytes of a gzipped FileDescriptorProto
2397         0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0xcb, 0x73, 0xdb, 0xc6,
2398         0x19, 0xcf, 0x92, 0x7a, 0x50, 0x1f, 0xf4, 0xf2, 0x56, 0xb2, 0x69, 0xf8, 0x25, 0xc1, 0x8a, 0x45,
2399         0x33, 0x36, 0x29, 0x33, 0x13, 0x37, 0xb6, 0x2a, 0x67, 0x24, 0xcb, 0x75, 0xdc, 0xb1, 0x1b, 0x15,
2400         0x72, 0xdb, 0x99, 0x1e, 0xca, 0x01, 0x89, 0x35, 0x8d, 0x90, 0x04, 0x10, 0x00, 0x54, 0xad, 0xb4,
2401         0x9e, 0x49, 0x93, 0x4e, 0x67, 0x3a, 0xf5, 0xa1, 0x69, 0x6e, 0x9d, 0x1c, 0x3a, 0xd3, 0x5b, 0x8f,
2402         0x9d, 0xe9, 0xb5, 0xff, 0x44, 0xff, 0x85, 0x1e, 0x7b, 0x6f, 0x8f, 0x99, 0x7d, 0x00, 0xc4, 0x63,
2403         0x41, 0x8a, 0xb2, 0x7d, 0x03, 0xf6, 0xfb, 0x76, 0xbf, 0xdf, 0xf7, 0xfe, 0x80, 0x85, 0x4b, 0x1d,
2404         0xc7, 0xe9, 0xf4, 0x48, 0xdd, 0x1d, 0xb4, 0xfc, 0x41, 0xab, 0x7e, 0x74, 0x4b, 0x3c, 0xd5, 0x5c,
2405         0xcf, 0x09, 0x1c, 0xbc, 0xcc, 0xc9, 0x35, 0xb1, 0x78, 0x74, 0x4b, 0xbd, 0x28, 0x36, 0x18, 0xae,
2406         0x55, 0x37, 0x6c, 0xdb, 0x09, 0x8c, 0xc0, 0x72, 0x6c, 0x9f, 0xf3, 0xab, 0x97, 0xc3, 0xe3, 0xe8,
2407         0x5b, 0x6b, 0xf0, 0xac, 0x6e, 0x0e, 0x3c, 0xc6, 0x20, 0xe8, 0x17, 0xd2, 0x74, 0xd2, 0x77, 0x83,
2408         0x63, 0x41, 0x5c, 0x4b, 0x13, 0x9f, 0x59, 0xa4, 0x67, 0x36, 0xfb, 0x86, 0xdf, 0x15, 0x1c, 0x57,
2409         0xd2, 0x1c, 0x81, 0xd5, 0x27, 0x7e, 0x60, 0xf4, 0x5d, 0xce, 0xa0, 0x7d, 0x83, 0x60, 0xfa, 0xa9,
2410         0xe3, 0x5a, 0x6d, 0x8c, 0x61, 0xca, 0x36, 0xfa, 0xa4, 0x8c, 0xd6, 0x50, 0x65, 0x4e, 0x67, 0xcf,
2411         0x78, 0x1b, 0x66, 0x7a, 0x46, 0x8b, 0xf4, 0xfc, 0x72, 0x61, 0xad, 0x58, 0x51, 0x1a, 0x57, 0x6b,
2412         0x69, 0xf5, 0x6a, 0x6c, 0x73, 0xed, 0x31, 0xe3, 0x7a, 0x60, 0x07, 0xde, 0xb1, 0x2e, 0xb6, 0xa8,
2413         0x77, 0x40, 0x89, 0x2d, 0xe3, 0x65, 0x28, 0x76, 0xc9, 0xb1, 0x38, 0x9e, 0x3e, 0xe2, 0x15, 0x98,
2414         0x3e, 0x32, 0x7a, 0x03, 0x52, 0x2e, 0xb0, 0x35, 0xfe, 0x72, 0xb7, 0xf0, 0x21, 0xd2, 0xbe, 0x2e,
2415         0xc0, 0xc2, 0x01, 0x13, 0xf1, 0x84, 0xf8, 0xbe, 0xd1, 0x21, 0x14, 0x9d, 0x69, 0x04, 0x06, 0xdb,
2416         0x3e, 0xaf, 0xb3, 0x67, 0xfc, 0x09, 0x80, 0x11, 0x04, 0x9e, 0xd5, 0x1a, 0x04, 0x24, 0x44, 0x58,
2417         0xcf, 0x22, 0x4c, 0x1c, 0x54, 0xdb, 0x8d, 0x76, 0x70, 0xb4, 0xb1, 0x23, 0xf0, 0x25, 0x80, 0x3e,
2418         0x67, 0x6b, 0x5a, 0x66, 0xb9, 0xc8, 0x50, 0xcd, 0x89, 0x95, 0x47, 0x26, 0xde, 0x81, 0x79, 0x77,
2419         0xd0, 0xea, 0x59, 0xfe, 0xf3, 0x26, 0x35, 0x63, 0x79, 0x6a, 0x0d, 0x55, 0x94, 0x86, 0x1a, 0x49,
2420         0x14, 0x36, 0xae, 0x3d, 0x0d, 0x6d, 0xac, 0x2b, 0x82, 0x9f, 0xae, 0xa8, 0x3b, 0xb0, 0x94, 0x12,
2421         0x3e, 0x91, 0x4d, 0x36, 0x61, 0xe9, 0x21, 0x09, 0x98, 0xb9, 0x75, 0xf2, 0xd9, 0x80, 0xf8, 0x01,
2422         0x65, 0x0e, 0xe8, 0xbb, 0x38, 0x80, 0xbf, 0x68, 0x5f, 0x20, 0xc0, 0x3f, 0x75, 0x4d, 0x23, 0x20,
2423         0x09, 0xe6, 0x9b, 0x71, 0x66, 0xa5, 0x71, 0x2e, 0xc7, 0x95, 0xe2, 0x14, 0xbc, 0x0d, 0xca, 0x80,
2424         0x1d, 0xc2, 0xc2, 0x89, 0xc1, 0x91, 0xe9, 0xfa, 0x43, 0x1a, 0x71, 0x4f, 0x0c, 0xbf, 0xab, 0x03,
2425         0x67, 0xa7, 0xcf, 0x5a, 0x1b, 0x16, 0x0f, 0xb8, 0xe6, 0x23, 0xa1, 0xe2, 0x6d, 0x28, 0x09, 0xf3,
2426         0x86, 0xfe, 0xbb, 0x32, 0xc6, 0x7f, 0x7a, 0xb4, 0x41, 0x6b, 0xc0, 0x52, 0x24, 0xc4, 0x77, 0x1d,
2427         0xdb, 0x27, 0xf8, 0x0a, 0x28, 0x43, 0x07, 0xfa, 0x65, 0xb4, 0x56, 0xac, 0xcc, 0xe9, 0x10, 0x79,
2428         0xd0, 0xd7, 0x2c, 0x38, 0xf3, 0xd8, 0xf2, 0xb9, 0x15, 0xfd, 0x10, 0x5b, 0x19, 0x66, 0x5d, 0xcf,
2429         0xf9, 0x94, 0xb4, 0x03, 0x81, 0x2e, 0x7c, 0xc5, 0x17, 0x60, 0xce, 0xa5, 0x87, 0xf9, 0xd6, 0xe7,
2430         0xdc, 0x23, 0xd3, 0x7a, 0x89, 0x2e, 0x1c, 0x5a, 0x9f, 0x13, 0x1a, 0x2d, 0x8c, 0x18, 0x38, 0x5d,
2431         0x62, 0x87, 0xd1, 0x42, 0x57, 0x9e, 0xd2, 0x05, 0xad, 0x0f, 0x38, 0x2e, 0x4a, 0x20, 0xac, 0xc3,
2432         0x0c, 0x53, 0x9d, 0x83, 0x1b, 0xe1, 0x06, 0xc1, 0x86, 0xaf, 0xc1, 0x92, 0x4d, 0x5e, 0x04, 0xcd,
2433         0x98, 0x28, 0x1e, 0x1a, 0x0b, 0x74, 0xf9, 0x20, 0x12, 0xf7, 0x19, 0x5c, 0x8a, 0xc4, 0x1d, 0x0e,
2434         0x5a, 0x7e, 0xdb, 0xb3, 0x5c, 0x56, 0x68, 0x46, 0x7b, 0xe0, 0x75, 0x34, 0xb4, 0xe1, 0x72, 0x9e,
2435         0x48, 0xa1, 0xed, 0x06, 0x2c, 0xf8, 0x71, 0x82, 0xf0, 0x48, 0x72, 0xf1, 0xc4, 0x2a, 0x56, 0x01,
2436         0xef, 0x93, 0x1e, 0x49, 0xc5, 0xb5, 0x3c, 0x09, 0xfe, 0x59, 0x84, 0xf9, 0x38, 0x26, 0x69, 0x79,
2437         0x8b, 0xb6, 0x16, 0xe2, 0x26, 0xd9, 0x01, 0xc5, 0x1d, 0xf8, 0xcf, 0x9b, 0x6d, 0xc7, 0x7e, 0x66,
2438         0x75, 0x44, 0x96, 0x5f, 0x94, 0xc5, 0xa5, 0xff, 0xfc, 0x3e, 0xe3, 0xd1, 0xc1, 0x8d, 0x9e, 0xf1,
2439         0x16, 0xac, 0x18, 0xed, 0x6e, 0xd3, 0x24, 0x86, 0xd9, 0xb3, 0x6c, 0xd2, 0xf4, 0x49, 0xdb, 0xb1,
2440         0x4d, 0xbf, 0x3c, 0xcd, 0x8c, 0x8b, 0x8d, 0x76, 0x77, 0x5f, 0x90, 0x0e, 0x39, 0x05, 0x37, 0x60,
2441         0xd5, 0x23, 0x81, 0x61, 0xd9, 0x4d, 0xa3, 0xdd, 0x25, 0x66, 0x33, 0x4a, 0x89, 0xd9, 0x35, 0x54,
2442         0x29, 0xe9, 0xdf, 0xe3, 0xc4, 0x5d, 0x4a, 0x13, 0x59, 0xe0, 0xe3, 0x9f, 0x83, 0x1a, 0x46, 0xba,
2443         0x47, 0x02, 0x62, 0x53, 0x1d, 0x9b, 0x61, 0xef, 0x28, 0x97, 0x18, 0xe6, 0xf3, 0x99, 0x6c, 0xdd,
2444         0x17, 0x0c, 0x7a, 0x59, 0x6c, 0xd6, 0xc3, 0xbd, 0x21, 0x05, 0xef, 0x45, 0x25, 0x7f, 0x8e, 0x05,
2445         0x68, 0x35, 0xab, 0x78, 0xdc, 0xae, 0x6f, 0xba, 0xf2, 0xff, 0x0b, 0x01, 0x0c, 0x0d, 0x8b, 0xaf,
2446         0xc2, 0x02, 0xf3, 0x05, 0xb1, 0x4d, 0xd7, 0xb1, 0xec, 0x30, 0x41, 0xe7, 0xe9, 0xe2, 0x03, 0xb1,
2447         0x86, 0x1f, 0x4b, 0xfa, 0xc0, 0x8d, 0x51, 0xfe, 0x1a, 0xd5, 0x04, 0x5e, 0xb7, 0x4c, 0xb7, 0x61,
2448         0x49, 0x27, 0x6d, 0x62, 0x1d, 0x45, 0xce, 0xc2, 0xab, 0x30, 0x43, 0x23, 0xc2, 0x32, 0xc3, 0x10,
2449         0x35, 0xda, 0xdd, 0x47, 0x26, 0xbe, 0x03, 0xb3, 0xc2, 0x0b, 0xa2, 0xba, 0x8e, 0xad, 0x7d, 0x21,
2450         0xbf, 0xf6, 0x03, 0x38, 0xfb, 0x90, 0x04, 0x71, 0x3f, 0x84, 0xd9, 0xa0, 0xc1, 0x7c, 0x3c, 0xb9,
2451         0x42, 0x7b, 0xc5, 0xd7, 0xb4, 0x6f, 0x11, 0x9c, 0xe7, 0x0d, 0x42, 0x76, 0xc2, 0x9e, 0xe4, 0x04,
2452         0xa5, 0x71, 0x79, 0x74, 0x18, 0x24, 0x25, 0xbc, 0x5e, 0xf3, 0x70, 0xa1, 0x4c, 0xcb, 0x8a, 0xb4,
2453         0x88, 0xbd, 0x9d, 0x52, 0xfd, 0x07, 0x04, 0xe7, 0x25, 0x22, 0x45, 0x11, 0xdb, 0x97, 0x15, 0xb1,
2454         0xf1, 0x16, 0x39, 0x65, 0x91, 0xfb, 0x08, 0xce, 0xf3, 0x22, 0x77, 0x5a, 0xef, 0xfe, 0x06, 0xce,
2455         0x3d, 0x71, 0x4c, 0xeb, 0xd9, 0x71, 0xac, 0x3e, 0x9d, 0x7c, 0x7b, 0xba, 0xfa, 0x15, 0x26, 0xab,
2456         0x7e, 0xda, 0x57, 0x08, 0x94, 0x83, 0x41, 0xaf, 0x37, 0x89, 0xc8, 0x9b, 0x80, 0x3d, 0x12, 0x0c,
2457         0x3c, 0xbb, 0x69, 0xf5, 0xfb, 0xc4, 0xb4, 0x8c, 0x80, 0xf4, 0x8e, 0x99, 0xe4, 0x92, 0x7e, 0x86,
2458         0x53, 0x1e, 0x0d, 0x09, 0x78, 0x1d, 0xe6, 0xfb, 0xc6, 0x8b, 0x61, 0x95, 0x2c, 0x32, 0x67, 0x2b,
2459         0x7d, 0xe3, 0x45, 0x58, 0x1d, 0xb5, 0x5f, 0xc2, 0x3c, 0x07, 0x21, 0x5c, 0xf8, 0x63, 0x38, 0xe3,
2460         0x89, 0xa4, 0x1c, 0xee, 0xe3, 0x6e, 0x5c, 0xcf, 0xaa, 0x96, 0xca, 0x5f, 0x7d, 0xd9, 0x4b, 0x2e,
2461         0xf8, 0x34, 0x60, 0xca, 0xdc, 0xc8, 0xbb, 0xc3, 0x72, 0x3e, 0x89, 0xca, 0xe7, 0x60, 0x96, 0x97,
2462         0x04, 0xbf, 0x3c, 0xc5, 0x5a, 0xe2, 0x0c, 0xab, 0x09, 0x7e, 0x6e, 0xf7, 0x28, 0xe6, 0x75, 0x0f,
2463         0xed, 0x27, 0x80, 0x77, 0xdb, 0x5d, 0xdb, 0xf9, 0x55, 0x8f, 0x98, 0x9d, 0xd3, 0x82, 0x28, 0xc4,
2464         0x41, 0x68, 0xbf, 0x2d, 0xc0, 0xca, 0x61, 0xe0, 0x11, 0xa3, 0x6f, 0xd9, 0x9d, 0x49, 0xbd, 0x99,
2465         0x77, 0x2a, 0xbe, 0x0d, 0xe7, 0xfa, 0xcc, 0x66, 0x32, 0xed, 0x8a, 0x95, 0x69, 0x7d, 0x95, 0x93,
2466         0xd3, 0xed, 0xf1, 0x83, 0xec, 0xbe, 0xa4, 0xed, 0x56, 0x92, 0xfb, 0x76, 0xb9, 0xb8, 0x1d, 0xb8,
2467         0xe0, 0x33, 0x1d, 0x9a, 0x23, 0xda, 0x71, 0x99, 0xb3, 0xec, 0x66, 0xcd, 0xda, 0x81, 0xd5, 0x94,
2468         0x09, 0xde, 0x52, 0x2c, 0x7d, 0x02, 0xab, 0xf7, 0x3d, 0x42, 0x8b, 0xb1, 0x6d, 0xb8, 0xfe, 0x73,
2469         0x27, 0x08, 0x8d, 0x2d, 0x9b, 0x58, 0xd2, 0x0e, 0x28, 0x48, 0x0a, 0xc0, 0x2b, 0x04, 0xab, 0xa2,
2470         0xbc, 0xa7, 0x4e, 0xbc, 0x0d, 0x25, 0x5f, 0x2c, 0x89, 0xb2, 0xae, 0x4a, 0x8a, 0x58, 0xb8, 0x29,
2471         0xe2, 0x7d, 0xbd, 0x72, 0xfe, 0x5f, 0x04, 0xa5, 0xf0, 0xcc, 0x09, 0xa6, 0xb0, 0x6d, 0x50, 0xc8,
2472         0x0b, 0xd7, 0xf2, 0x08, 0xff, 0xd6, 0x2a, 0x8e, 0xfd, 0xd6, 0x02, 0xce, 0x4e, 0x17, 0xf0, 0xbd,
2473         0x68, 0x88, 0x99, 0x62, 0x8e, 0xb9, 0x96, 0xaf, 0xe6, 0x9b, 0x1e, 0x60, 0x7a, 0xb0, 0xc2, 0x5a,
2474         0x89, 0x38, 0xfe, 0x2d, 0x77, 0xae, 0x63, 0x58, 0x4d, 0x49, 0x13, 0x51, 0xfa, 0x21, 0xcc, 0x85,
2475         0xee, 0x0b, 0xa3, 0x73, 0x94, 0xaf, 0x87, 0xcc, 0x27, 0x6e, 0x54, 0xef, 0xc3, 0xaa, 0x68, 0x54,
2476         0xa9, 0x28, 0x53, 0x53, 0x51, 0x36, 0x37, 0x8c, 0x24, 0xed, 0x8f, 0x08, 0x94, 0x43, 0x42, 0xba,
2477         0x93, 0x14, 0x94, 0x2d, 0x98, 0x62, 0x21, 0x50, 0x18, 0x17, 0x02, 0x1f, 0xbf, 0xa3, 0x33, 0x4e,
2478         0x7c, 0x31, 0x86, 0x80, 0x99, 0xec, 0xe3, 0x77, 0x86, 0x18, 0xf6, 0x4a, 0x30, 0x13, 0x18, 0x5e,
2479         0x87, 0x04, 0xda, 0x22, 0xcc, 0x73, 0x30, 0xdc, 0x68, 0x8d, 0xff, 0x2d, 0x03, 0x88, 0xb6, 0xdb,
2480         0x22, 0x1e, 0xfe, 0x3d, 0x02, 0x2c, 0x52, 0x33, 0x8e, 0x67, 0x4c, 0xe3, 0x57, 0xc7, 0xd0, 0xb5,
2481         0xad, 0x2f, 0xff, 0xfd, 0x9f, 0x6f, 0x0a, 0x55, 0xf5, 0xdd, 0xfa, 0xd1, 0xad, 0xfa, 0xaf, 0x69,
2482         0x0a, 0xec, 0x88, 0x50, 0xf0, 0xeb, 0xd5, 0x7a, 0x62, 0x6a, 0xa8, 0x57, 0x5f, 0xde, 0x45, 0x55,
2483         0xfc, 0x67, 0xc4, 0xbe, 0xfd, 0x13, 0x28, 0x2a, 0x59, 0x29, 0xf2, 0x91, 0x70, 0x2c, 0x9e, 0x0f,
2484         0x18, 0x9e, 0x3a, 0xbe, 0xc9, 0xf0, 0xc4, 0xe5, 0x8f, 0xc2, 0x85, 0xff, 0x1a, 0xfd, 0x66, 0x48,
2485         0xe0, 0x7a, 0x2f, 0x2b, 0x2d, 0x77, 0xd6, 0x1c, 0x0b, 0x6d, 0x87, 0x41, 0xfb, 0x7e, 0xa3, 0x91,
2486         0x81, 0x56, 0x3b, 0x89, 0xdd, 0xbe, 0x45, 0xfc, 0x73, 0x3f, 0x31, 0xd7, 0x61, 0xc9, 0x17, 0x4d,
2487         0xde, 0xbc, 0xa9, 0xbe, 0x77, 0x22, 0x5e, 0x1e, 0x3e, 0x5a, 0x8d, 0xa1, 0xad, 0xe0, 0x6b, 0x0c,
2488         0xad, 0xc0, 0x16, 0xc3, 0xf8, 0x32, 0x09, 0x12, 0xff, 0x09, 0x85, 0x1f, 0xb4, 0xe3, 0x2c, 0x98,
2489         0x3b, 0x11, 0xaa, 0x67, 0x33, 0xe9, 0xf0, 0xa0, 0xef, 0x06, 0xc7, 0xa1, 0x53, 0xab, 0x13, 0x3a,
2490         0xf5, 0x6f, 0x08, 0xce, 0x64, 0x06, 0x1b, 0x99, 0xc5, 0xf2, 0xa6, 0x9f, 0x5c, 0x40, 0x3f, 0x62,
2491         0x80, 0xf6, 0xb5, 0x8f, 0x26, 0x02, 0x74, 0xb7, 0x9f, 0x96, 0x43, 0xfd, 0xfa, 0x35, 0x02, 0x25,
2492         0x36, 0xf3, 0xe0, 0x8d, 0x2c, 0xbe, 0xec, 0x48, 0x94, 0x8b, 0x6c, 0x9f, 0x21, 0xbb, 0xa7, 0xdd,
2493         0x99, 0x0c, 0x99, 0x31, 0x94, 0x40, 0x31, 0xfd, 0x0e, 0xc1, 0x14, 0x9d, 0x13, 0xf0, 0x25, 0xd9,
2494         0xac, 0x1c, 0x8d, 0x50, 0xb2, 0x90, 0x8f, 0x8f, 0x17, 0x61, 0xc8, 0x6b, 0x8d, 0xc9, 0xd0, 0xb8,
2495         0x83, 0x5e, 0x8f, 0xc2, 0x30, 0x61, 0x21, 0x31, 0xb6, 0x60, 0x59, 0xeb, 0x93, 0x8c, 0x76, 0xea,
2496         0xe6, 0x58, 0x3e, 0x0e, 0xb0, 0x82, 0xb6, 0x10, 0xcd, 0xfd, 0xe5, 0xf4, 0x47, 0x06, 0xbe, 0x9e,
2497         0x17, 0x25, 0x99, 0x0f, 0x91, 0x5c, 0x57, 0x3c, 0x62, 0xca, 0xdf, 0xd7, 0xee, 0x9d, 0x26, 0x48,
2498         0x86, 0x62, 0xa8, 0x21, 0x5e, 0x21, 0x58, 0x48, 0xb4, 0x46, 0x99, 0x25, 0x64, 0x9d, 0x5a, 0x66,
2499         0x09, 0x69, 0x8f, 0xd5, 0xaa, 0x0c, 0xed, 0x06, 0xd6, 0xf2, 0xf3, 0x3d, 0x12, 0xfe, 0x15, 0x82,
2500         0xc5, 0xe4, 0x98, 0x87, 0x25, 0x72, 0xa4, 0x83, 0xa0, 0x3a, 0xa2, 0x71, 0x6b, 0x37, 0x18, 0x86,
2501         0x6b, 0xea, 0xba, 0xbc, 0x99, 0x84, 0xf2, 0x45, 0x41, 0x7c, 0x85, 0x60, 0x31, 0x39, 0x1a, 0xca,
2502         0x50, 0x48, 0x87, 0xc7, 0x91, 0x28, 0x44, 0xb5, 0x69, 0x54, 0xb9, 0xdf, 0xc2, 0xd1, 0x6a, 0x1c,
2503         0x9c, 0x2f, 0x10, 0x2c, 0x26, 0x67, 0x08, 0x19, 0x1c, 0xe9, 0x94, 0x91, 0x1b, 0x42, 0x37, 0x19,
2504         0x94, 0xcd, 0xea, 0xbb, 0x09, 0x28, 0x79, 0x28, 0x58, 0xda, 0xd2, 0x19, 0x40, 0x96, 0xb6, 0xb1,
2505         0x41, 0x45, 0xda, 0xa9, 0x62, 0xa3, 0xc3, 0x69, 0xd3, 0xd6, 0x27, 0xa4, 0x7b, 0x17, 0x55, 0x1b,
2506         0x7f, 0x99, 0x85, 0x39, 0xf1, 0x33, 0x9b, 0x78, 0xf8, 0x53, 0x50, 0x78, 0x24, 0xf0, 0x9b, 0x99,
2507         0xbc, 0x7f, 0xc4, 0x6a, 0x1e, 0x41, 0xbb, 0xce, 0xd0, 0x5c, 0x55, 0x2f, 0x4b, 0xa3, 0x82, 0xff,
2508         0x59, 0x16, 0x3e, 0x78, 0x09, 0x4a, 0xec, 0xb2, 0x40, 0x56, 0x4a, 0xb3, 0x77, 0x09, 0xf9, 0x82,
2509         0xeb, 0x4c, 0xf0, 0xf5, 0xc6, 0x06, 0x13, 0xcc, 0x04, 0xd5, 0x46, 0x8a, 0xff, 0x12, 0xc1, 0xac,
2510         0x50, 0x1c, 0xaf, 0x49, 0xff, 0x7f, 0xc5, 0x6e, 0x11, 0xd4, 0xf5, 0x11, 0x1c, 0xc2, 0x11, 0x0d,
2511         0x86, 0xe0, 0x86, 0xb6, 0x39, 0x44, 0x20, 0x17, 0x2e, 0xae, 0x66, 0x28, 0x08, 0x07, 0x4a, 0xe1,
2512         0xd5, 0x0a, 0x5e, 0x97, 0xce, 0x55, 0x27, 0xd3, 0x7e, 0x93, 0xc9, 0x5e, 0xc7, 0x57, 0xc6, 0xc8,
2513         0xa6, 0x81, 0x0f, 0xc3, 0xcb, 0x01, 0x7c, 0x55, 0x5e, 0x71, 0x12, 0xb7, 0x14, 0xea, 0xc6, 0x68,
2514         0x26, 0xa1, 0x7e, 0x12, 0x82, 0xac, 0x26, 0x89, 0x7b, 0x85, 0x7f, 0x20, 0x38, 0x2b, 0xff, 0x7b,
2515         0x8f, 0xeb, 0x23, 0x24, 0x49, 0xa7, 0xa4, 0xad, 0x93, 0x6f, 0x10, 0x30, 0x93, 0x33, 0x67, 0xbe,
2516         0xa5, 0x52, 0x13, 0x53, 0x00, 0x4a, 0xec, 0x06, 0x40, 0x16, 0xac, 0xd9, 0x0b, 0x82, 0xdc, 0x4a,
2517         0x21, 0x4c, 0x55, 0x1d, 0xe7, 0xad, 0xbd, 0x63, 0x58, 0x69, 0x3b, 0xfd, 0x8c, 0xac, 0x3d, 0x85,
2518         0xff, 0x9d, 0x3d, 0xa0, 0xc7, 0x1e, 0xa0, 0x5f, 0xdc, 0x16, 0x0c, 0x1d, 0xa7, 0x67, 0xd8, 0x9d,
2519         0x9a, 0xe3, 0x75, 0xea, 0x1d, 0x62, 0x33, 0xa1, 0x75, 0x4e, 0x32, 0x5c, 0xcb, 0x1f, 0x5e, 0x1c,
2520         0x6f, 0xf3, 0xa7, 0xff, 0x23, 0xf4, 0xf7, 0xc2, 0xd9, 0x87, 0x7c, 0xef, 0xfd, 0x9e, 0x33, 0x30,
2521         0x69, 0x4c, 0x1f, 0x0e, 0x5a, 0xb5, 0x9f, 0xdd, 0x6a, 0xcd, 0xb0, 0xed, 0xef, 0x7f, 0x17, 0x00,
2522         0x00, 0xff, 0xff, 0x68, 0xa2, 0x62, 0x98, 0x76, 0x1e, 0x00, 0x00,
2523 }