1// Code generated by protoc-gen-gogo. DO NOT EDIT.
2// source: store/storepb/rpc.proto
3
4package storepb
5
6import (
7	context "context"
8	fmt "fmt"
9	io "io"
10	math "math"
11	math_bits "math/bits"
12
13	_ "github.com/gogo/protobuf/gogoproto"
14	proto "github.com/gogo/protobuf/proto"
15	types "github.com/gogo/protobuf/types"
16	github_com_thanos_io_thanos_pkg_store_labelpb "github.com/thanos-io/thanos/pkg/store/labelpb"
17	labelpb "github.com/thanos-io/thanos/pkg/store/labelpb"
18	prompb "github.com/thanos-io/thanos/pkg/store/storepb/prompb"
19	grpc "google.golang.org/grpc"
20	codes "google.golang.org/grpc/codes"
21	status "google.golang.org/grpc/status"
22)
23
24// Reference imports to suppress errors if they are not otherwise used.
25var _ = proto.Marshal
26var _ = fmt.Errorf
27var _ = math.Inf
28
29// This is a compile-time assertion to ensure that this generated file
30// is compatible with the proto package it is being compiled against.
31// A compilation error at this line likely means your copy of the
32// proto package needs to be updated.
33const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
34
35type StoreType int32
36
37const (
38	StoreType_UNKNOWN StoreType = 0
39	StoreType_QUERY   StoreType = 1
40	StoreType_RULE    StoreType = 2
41	StoreType_SIDECAR StoreType = 3
42	StoreType_STORE   StoreType = 4
43	StoreType_RECEIVE StoreType = 5
44	// DEBUG represents some debug StoreAPI components e.g. thanos tools store-api-serve.
45	StoreType_DEBUG StoreType = 6
46)
47
48var StoreType_name = map[int32]string{
49	0: "UNKNOWN",
50	1: "QUERY",
51	2: "RULE",
52	3: "SIDECAR",
53	4: "STORE",
54	5: "RECEIVE",
55	6: "DEBUG",
56}
57
58var StoreType_value = map[string]int32{
59	"UNKNOWN": 0,
60	"QUERY":   1,
61	"RULE":    2,
62	"SIDECAR": 3,
63	"STORE":   4,
64	"RECEIVE": 5,
65	"DEBUG":   6,
66}
67
68func (x StoreType) String() string {
69	return proto.EnumName(StoreType_name, int32(x))
70}
71
72func (StoreType) EnumDescriptor() ([]byte, []int) {
73	return fileDescriptor_a938d55a388af629, []int{0}
74}
75
76type Aggr int32
77
78const (
79	Aggr_RAW     Aggr = 0
80	Aggr_COUNT   Aggr = 1
81	Aggr_SUM     Aggr = 2
82	Aggr_MIN     Aggr = 3
83	Aggr_MAX     Aggr = 4
84	Aggr_COUNTER Aggr = 5
85)
86
87var Aggr_name = map[int32]string{
88	0: "RAW",
89	1: "COUNT",
90	2: "SUM",
91	3: "MIN",
92	4: "MAX",
93	5: "COUNTER",
94}
95
96var Aggr_value = map[string]int32{
97	"RAW":     0,
98	"COUNT":   1,
99	"SUM":     2,
100	"MIN":     3,
101	"MAX":     4,
102	"COUNTER": 5,
103}
104
105func (x Aggr) String() string {
106	return proto.EnumName(Aggr_name, int32(x))
107}
108
109func (Aggr) EnumDescriptor() ([]byte, []int) {
110	return fileDescriptor_a938d55a388af629, []int{1}
111}
112
113type WriteResponse struct {
114}
115
116func (m *WriteResponse) Reset()         { *m = WriteResponse{} }
117func (m *WriteResponse) String() string { return proto.CompactTextString(m) }
118func (*WriteResponse) ProtoMessage()    {}
119func (*WriteResponse) Descriptor() ([]byte, []int) {
120	return fileDescriptor_a938d55a388af629, []int{0}
121}
122func (m *WriteResponse) XXX_Unmarshal(b []byte) error {
123	return m.Unmarshal(b)
124}
125func (m *WriteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
126	if deterministic {
127		return xxx_messageInfo_WriteResponse.Marshal(b, m, deterministic)
128	} else {
129		b = b[:cap(b)]
130		n, err := m.MarshalToSizedBuffer(b)
131		if err != nil {
132			return nil, err
133		}
134		return b[:n], nil
135	}
136}
137func (m *WriteResponse) XXX_Merge(src proto.Message) {
138	xxx_messageInfo_WriteResponse.Merge(m, src)
139}
140func (m *WriteResponse) XXX_Size() int {
141	return m.Size()
142}
143func (m *WriteResponse) XXX_DiscardUnknown() {
144	xxx_messageInfo_WriteResponse.DiscardUnknown(m)
145}
146
147var xxx_messageInfo_WriteResponse proto.InternalMessageInfo
148
149type WriteRequest struct {
150	Timeseries []prompb.TimeSeries `protobuf:"bytes,1,rep,name=timeseries,proto3" json:"timeseries"`
151	Tenant     string              `protobuf:"bytes,2,opt,name=tenant,proto3" json:"tenant,omitempty"`
152	Replica    int64               `protobuf:"varint,3,opt,name=replica,proto3" json:"replica,omitempty"`
153}
154
155func (m *WriteRequest) Reset()         { *m = WriteRequest{} }
156func (m *WriteRequest) String() string { return proto.CompactTextString(m) }
157func (*WriteRequest) ProtoMessage()    {}
158func (*WriteRequest) Descriptor() ([]byte, []int) {
159	return fileDescriptor_a938d55a388af629, []int{1}
160}
161func (m *WriteRequest) XXX_Unmarshal(b []byte) error {
162	return m.Unmarshal(b)
163}
164func (m *WriteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
165	if deterministic {
166		return xxx_messageInfo_WriteRequest.Marshal(b, m, deterministic)
167	} else {
168		b = b[:cap(b)]
169		n, err := m.MarshalToSizedBuffer(b)
170		if err != nil {
171			return nil, err
172		}
173		return b[:n], nil
174	}
175}
176func (m *WriteRequest) XXX_Merge(src proto.Message) {
177	xxx_messageInfo_WriteRequest.Merge(m, src)
178}
179func (m *WriteRequest) XXX_Size() int {
180	return m.Size()
181}
182func (m *WriteRequest) XXX_DiscardUnknown() {
183	xxx_messageInfo_WriteRequest.DiscardUnknown(m)
184}
185
186var xxx_messageInfo_WriteRequest proto.InternalMessageInfo
187
188type InfoRequest struct {
189}
190
191func (m *InfoRequest) Reset()         { *m = InfoRequest{} }
192func (m *InfoRequest) String() string { return proto.CompactTextString(m) }
193func (*InfoRequest) ProtoMessage()    {}
194func (*InfoRequest) Descriptor() ([]byte, []int) {
195	return fileDescriptor_a938d55a388af629, []int{2}
196}
197func (m *InfoRequest) XXX_Unmarshal(b []byte) error {
198	return m.Unmarshal(b)
199}
200func (m *InfoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
201	if deterministic {
202		return xxx_messageInfo_InfoRequest.Marshal(b, m, deterministic)
203	} else {
204		b = b[:cap(b)]
205		n, err := m.MarshalToSizedBuffer(b)
206		if err != nil {
207			return nil, err
208		}
209		return b[:n], nil
210	}
211}
212func (m *InfoRequest) XXX_Merge(src proto.Message) {
213	xxx_messageInfo_InfoRequest.Merge(m, src)
214}
215func (m *InfoRequest) XXX_Size() int {
216	return m.Size()
217}
218func (m *InfoRequest) XXX_DiscardUnknown() {
219	xxx_messageInfo_InfoRequest.DiscardUnknown(m)
220}
221
222var xxx_messageInfo_InfoRequest proto.InternalMessageInfo
223
224type InfoResponse struct {
225	// Deprecated. Use label_sets instead.
226	Labels    []github_com_thanos_io_thanos_pkg_store_labelpb.ZLabel `protobuf:"bytes,1,rep,name=labels,proto3,customtype=github.com/thanos-io/thanos/pkg/store/labelpb.ZLabel" json:"labels"`
227	MinTime   int64                                                  `protobuf:"varint,2,opt,name=min_time,json=minTime,proto3" json:"min_time,omitempty"`
228	MaxTime   int64                                                  `protobuf:"varint,3,opt,name=max_time,json=maxTime,proto3" json:"max_time,omitempty"`
229	StoreType StoreType                                              `protobuf:"varint,4,opt,name=storeType,proto3,enum=thanos.StoreType" json:"storeType,omitempty"`
230	// label_sets is an unsorted list of `ZLabelSet`s.
231	LabelSets []labelpb.ZLabelSet `protobuf:"bytes,5,rep,name=label_sets,json=labelSets,proto3" json:"label_sets"`
232}
233
234func (m *InfoResponse) Reset()         { *m = InfoResponse{} }
235func (m *InfoResponse) String() string { return proto.CompactTextString(m) }
236func (*InfoResponse) ProtoMessage()    {}
237func (*InfoResponse) Descriptor() ([]byte, []int) {
238	return fileDescriptor_a938d55a388af629, []int{3}
239}
240func (m *InfoResponse) XXX_Unmarshal(b []byte) error {
241	return m.Unmarshal(b)
242}
243func (m *InfoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
244	if deterministic {
245		return xxx_messageInfo_InfoResponse.Marshal(b, m, deterministic)
246	} else {
247		b = b[:cap(b)]
248		n, err := m.MarshalToSizedBuffer(b)
249		if err != nil {
250			return nil, err
251		}
252		return b[:n], nil
253	}
254}
255func (m *InfoResponse) XXX_Merge(src proto.Message) {
256	xxx_messageInfo_InfoResponse.Merge(m, src)
257}
258func (m *InfoResponse) XXX_Size() int {
259	return m.Size()
260}
261func (m *InfoResponse) XXX_DiscardUnknown() {
262	xxx_messageInfo_InfoResponse.DiscardUnknown(m)
263}
264
265var xxx_messageInfo_InfoResponse proto.InternalMessageInfo
266
267type SeriesRequest struct {
268	MinTime             int64          `protobuf:"varint,1,opt,name=min_time,json=minTime,proto3" json:"min_time,omitempty"`
269	MaxTime             int64          `protobuf:"varint,2,opt,name=max_time,json=maxTime,proto3" json:"max_time,omitempty"`
270	Matchers            []LabelMatcher `protobuf:"bytes,3,rep,name=matchers,proto3" json:"matchers"`
271	MaxResolutionWindow int64          `protobuf:"varint,4,opt,name=max_resolution_window,json=maxResolutionWindow,proto3" json:"max_resolution_window,omitempty"`
272	Aggregates          []Aggr         `protobuf:"varint,5,rep,packed,name=aggregates,proto3,enum=thanos.Aggr" json:"aggregates,omitempty"`
273	// Deprecated. Use partial_response_strategy instead.
274	PartialResponseDisabled bool `protobuf:"varint,6,opt,name=partial_response_disabled,json=partialResponseDisabled,proto3" json:"partial_response_disabled,omitempty"`
275	// TODO(bwplotka): Move Thanos components to use strategy instead. Including QueryAPI.
276	PartialResponseStrategy PartialResponseStrategy `protobuf:"varint,7,opt,name=partial_response_strategy,json=partialResponseStrategy,proto3,enum=thanos.PartialResponseStrategy" json:"partial_response_strategy,omitempty"`
277	// skip_chunks controls whether sending chunks or not in series responses.
278	SkipChunks bool `protobuf:"varint,8,opt,name=skip_chunks,json=skipChunks,proto3" json:"skip_chunks,omitempty"`
279	// hints is an opaque data structure that can be used to carry additional information.
280	// The content of this field and whether it's supported depends on the
281	// implementation of a specific store.
282	Hints *types.Any `protobuf:"bytes,9,opt,name=hints,proto3" json:"hints,omitempty"`
283}
284
285func (m *SeriesRequest) Reset()         { *m = SeriesRequest{} }
286func (m *SeriesRequest) String() string { return proto.CompactTextString(m) }
287func (*SeriesRequest) ProtoMessage()    {}
288func (*SeriesRequest) Descriptor() ([]byte, []int) {
289	return fileDescriptor_a938d55a388af629, []int{4}
290}
291func (m *SeriesRequest) XXX_Unmarshal(b []byte) error {
292	return m.Unmarshal(b)
293}
294func (m *SeriesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
295	if deterministic {
296		return xxx_messageInfo_SeriesRequest.Marshal(b, m, deterministic)
297	} else {
298		b = b[:cap(b)]
299		n, err := m.MarshalToSizedBuffer(b)
300		if err != nil {
301			return nil, err
302		}
303		return b[:n], nil
304	}
305}
306func (m *SeriesRequest) XXX_Merge(src proto.Message) {
307	xxx_messageInfo_SeriesRequest.Merge(m, src)
308}
309func (m *SeriesRequest) XXX_Size() int {
310	return m.Size()
311}
312func (m *SeriesRequest) XXX_DiscardUnknown() {
313	xxx_messageInfo_SeriesRequest.DiscardUnknown(m)
314}
315
316var xxx_messageInfo_SeriesRequest proto.InternalMessageInfo
317
318type SeriesResponse struct {
319	// Types that are valid to be assigned to Result:
320	//	*SeriesResponse_Series
321	//	*SeriesResponse_Warning
322	//	*SeriesResponse_Hints
323	Result isSeriesResponse_Result `protobuf_oneof:"result"`
324}
325
326func (m *SeriesResponse) Reset()         { *m = SeriesResponse{} }
327func (m *SeriesResponse) String() string { return proto.CompactTextString(m) }
328func (*SeriesResponse) ProtoMessage()    {}
329func (*SeriesResponse) Descriptor() ([]byte, []int) {
330	return fileDescriptor_a938d55a388af629, []int{5}
331}
332func (m *SeriesResponse) XXX_Unmarshal(b []byte) error {
333	return m.Unmarshal(b)
334}
335func (m *SeriesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
336	if deterministic {
337		return xxx_messageInfo_SeriesResponse.Marshal(b, m, deterministic)
338	} else {
339		b = b[:cap(b)]
340		n, err := m.MarshalToSizedBuffer(b)
341		if err != nil {
342			return nil, err
343		}
344		return b[:n], nil
345	}
346}
347func (m *SeriesResponse) XXX_Merge(src proto.Message) {
348	xxx_messageInfo_SeriesResponse.Merge(m, src)
349}
350func (m *SeriesResponse) XXX_Size() int {
351	return m.Size()
352}
353func (m *SeriesResponse) XXX_DiscardUnknown() {
354	xxx_messageInfo_SeriesResponse.DiscardUnknown(m)
355}
356
357var xxx_messageInfo_SeriesResponse proto.InternalMessageInfo
358
359type isSeriesResponse_Result interface {
360	isSeriesResponse_Result()
361	MarshalTo([]byte) (int, error)
362	Size() int
363}
364
365type SeriesResponse_Series struct {
366	Series *Series `protobuf:"bytes,1,opt,name=series,proto3,oneof" json:"series,omitempty"`
367}
368type SeriesResponse_Warning struct {
369	Warning string `protobuf:"bytes,2,opt,name=warning,proto3,oneof" json:"warning,omitempty"`
370}
371type SeriesResponse_Hints struct {
372	Hints *types.Any `protobuf:"bytes,3,opt,name=hints,proto3,oneof" json:"hints,omitempty"`
373}
374
375func (*SeriesResponse_Series) isSeriesResponse_Result()  {}
376func (*SeriesResponse_Warning) isSeriesResponse_Result() {}
377func (*SeriesResponse_Hints) isSeriesResponse_Result()   {}
378
379func (m *SeriesResponse) GetResult() isSeriesResponse_Result {
380	if m != nil {
381		return m.Result
382	}
383	return nil
384}
385
386func (m *SeriesResponse) GetSeries() *Series {
387	if x, ok := m.GetResult().(*SeriesResponse_Series); ok {
388		return x.Series
389	}
390	return nil
391}
392
393func (m *SeriesResponse) GetWarning() string {
394	if x, ok := m.GetResult().(*SeriesResponse_Warning); ok {
395		return x.Warning
396	}
397	return ""
398}
399
400func (m *SeriesResponse) GetHints() *types.Any {
401	if x, ok := m.GetResult().(*SeriesResponse_Hints); ok {
402		return x.Hints
403	}
404	return nil
405}
406
407// XXX_OneofWrappers is for the internal use of the proto package.
408func (*SeriesResponse) XXX_OneofWrappers() []interface{} {
409	return []interface{}{
410		(*SeriesResponse_Series)(nil),
411		(*SeriesResponse_Warning)(nil),
412		(*SeriesResponse_Hints)(nil),
413	}
414}
415
416type LabelNamesRequest struct {
417	PartialResponseDisabled bool `protobuf:"varint,1,opt,name=partial_response_disabled,json=partialResponseDisabled,proto3" json:"partial_response_disabled,omitempty"`
418	// TODO(bwplotka): Move Thanos components to use strategy instead. Including QueryAPI.
419	PartialResponseStrategy PartialResponseStrategy `protobuf:"varint,2,opt,name=partial_response_strategy,json=partialResponseStrategy,proto3,enum=thanos.PartialResponseStrategy" json:"partial_response_strategy,omitempty"`
420	Start                   int64                   `protobuf:"varint,3,opt,name=start,proto3" json:"start,omitempty"`
421	End                     int64                   `protobuf:"varint,4,opt,name=end,proto3" json:"end,omitempty"`
422	// hints is an opaque data structure that can be used to carry additional information.
423	// The content of this field and whether it's supported depends on the
424	// implementation of a specific store.
425	Hints *types.Any `protobuf:"bytes,5,opt,name=hints,proto3" json:"hints,omitempty"`
426}
427
428func (m *LabelNamesRequest) Reset()         { *m = LabelNamesRequest{} }
429func (m *LabelNamesRequest) String() string { return proto.CompactTextString(m) }
430func (*LabelNamesRequest) ProtoMessage()    {}
431func (*LabelNamesRequest) Descriptor() ([]byte, []int) {
432	return fileDescriptor_a938d55a388af629, []int{6}
433}
434func (m *LabelNamesRequest) XXX_Unmarshal(b []byte) error {
435	return m.Unmarshal(b)
436}
437func (m *LabelNamesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
438	if deterministic {
439		return xxx_messageInfo_LabelNamesRequest.Marshal(b, m, deterministic)
440	} else {
441		b = b[:cap(b)]
442		n, err := m.MarshalToSizedBuffer(b)
443		if err != nil {
444			return nil, err
445		}
446		return b[:n], nil
447	}
448}
449func (m *LabelNamesRequest) XXX_Merge(src proto.Message) {
450	xxx_messageInfo_LabelNamesRequest.Merge(m, src)
451}
452func (m *LabelNamesRequest) XXX_Size() int {
453	return m.Size()
454}
455func (m *LabelNamesRequest) XXX_DiscardUnknown() {
456	xxx_messageInfo_LabelNamesRequest.DiscardUnknown(m)
457}
458
459var xxx_messageInfo_LabelNamesRequest proto.InternalMessageInfo
460
461type LabelNamesResponse struct {
462	Names    []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"`
463	Warnings []string `protobuf:"bytes,2,rep,name=warnings,proto3" json:"warnings,omitempty"`
464	/// hints is an opaque data structure that can be used to carry additional information from
465	/// the store. The content of this field and whether it's supported depends on the
466	/// implementation of a specific store.
467	Hints *types.Any `protobuf:"bytes,3,opt,name=hints,proto3" json:"hints,omitempty"`
468}
469
470func (m *LabelNamesResponse) Reset()         { *m = LabelNamesResponse{} }
471func (m *LabelNamesResponse) String() string { return proto.CompactTextString(m) }
472func (*LabelNamesResponse) ProtoMessage()    {}
473func (*LabelNamesResponse) Descriptor() ([]byte, []int) {
474	return fileDescriptor_a938d55a388af629, []int{7}
475}
476func (m *LabelNamesResponse) XXX_Unmarshal(b []byte) error {
477	return m.Unmarshal(b)
478}
479func (m *LabelNamesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
480	if deterministic {
481		return xxx_messageInfo_LabelNamesResponse.Marshal(b, m, deterministic)
482	} else {
483		b = b[:cap(b)]
484		n, err := m.MarshalToSizedBuffer(b)
485		if err != nil {
486			return nil, err
487		}
488		return b[:n], nil
489	}
490}
491func (m *LabelNamesResponse) XXX_Merge(src proto.Message) {
492	xxx_messageInfo_LabelNamesResponse.Merge(m, src)
493}
494func (m *LabelNamesResponse) XXX_Size() int {
495	return m.Size()
496}
497func (m *LabelNamesResponse) XXX_DiscardUnknown() {
498	xxx_messageInfo_LabelNamesResponse.DiscardUnknown(m)
499}
500
501var xxx_messageInfo_LabelNamesResponse proto.InternalMessageInfo
502
503type LabelValuesRequest struct {
504	Label                   string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"`
505	PartialResponseDisabled bool   `protobuf:"varint,2,opt,name=partial_response_disabled,json=partialResponseDisabled,proto3" json:"partial_response_disabled,omitempty"`
506	// TODO(bwplotka): Move Thanos components to use strategy instead. Including QueryAPI.
507	PartialResponseStrategy PartialResponseStrategy `protobuf:"varint,3,opt,name=partial_response_strategy,json=partialResponseStrategy,proto3,enum=thanos.PartialResponseStrategy" json:"partial_response_strategy,omitempty"`
508	Start                   int64                   `protobuf:"varint,4,opt,name=start,proto3" json:"start,omitempty"`
509	End                     int64                   `protobuf:"varint,5,opt,name=end,proto3" json:"end,omitempty"`
510	// hints is an opaque data structure that can be used to carry additional information.
511	// The content of this field and whether it's supported depends on the
512	// implementation of a specific store.
513	Hints    *types.Any     `protobuf:"bytes,6,opt,name=hints,proto3" json:"hints,omitempty"`
514	Matchers []LabelMatcher `protobuf:"bytes,7,rep,name=matchers,proto3" json:"matchers"`
515}
516
517func (m *LabelValuesRequest) Reset()         { *m = LabelValuesRequest{} }
518func (m *LabelValuesRequest) String() string { return proto.CompactTextString(m) }
519func (*LabelValuesRequest) ProtoMessage()    {}
520func (*LabelValuesRequest) Descriptor() ([]byte, []int) {
521	return fileDescriptor_a938d55a388af629, []int{8}
522}
523func (m *LabelValuesRequest) XXX_Unmarshal(b []byte) error {
524	return m.Unmarshal(b)
525}
526func (m *LabelValuesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
527	if deterministic {
528		return xxx_messageInfo_LabelValuesRequest.Marshal(b, m, deterministic)
529	} else {
530		b = b[:cap(b)]
531		n, err := m.MarshalToSizedBuffer(b)
532		if err != nil {
533			return nil, err
534		}
535		return b[:n], nil
536	}
537}
538func (m *LabelValuesRequest) XXX_Merge(src proto.Message) {
539	xxx_messageInfo_LabelValuesRequest.Merge(m, src)
540}
541func (m *LabelValuesRequest) XXX_Size() int {
542	return m.Size()
543}
544func (m *LabelValuesRequest) XXX_DiscardUnknown() {
545	xxx_messageInfo_LabelValuesRequest.DiscardUnknown(m)
546}
547
548var xxx_messageInfo_LabelValuesRequest proto.InternalMessageInfo
549
550type LabelValuesResponse struct {
551	Values   []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
552	Warnings []string `protobuf:"bytes,2,rep,name=warnings,proto3" json:"warnings,omitempty"`
553	/// hints is an opaque data structure that can be used to carry additional information from
554	/// the store. The content of this field and whether it's supported depends on the
555	/// implementation of a specific store.
556	Hints *types.Any `protobuf:"bytes,3,opt,name=hints,proto3" json:"hints,omitempty"`
557}
558
559func (m *LabelValuesResponse) Reset()         { *m = LabelValuesResponse{} }
560func (m *LabelValuesResponse) String() string { return proto.CompactTextString(m) }
561func (*LabelValuesResponse) ProtoMessage()    {}
562func (*LabelValuesResponse) Descriptor() ([]byte, []int) {
563	return fileDescriptor_a938d55a388af629, []int{9}
564}
565func (m *LabelValuesResponse) XXX_Unmarshal(b []byte) error {
566	return m.Unmarshal(b)
567}
568func (m *LabelValuesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
569	if deterministic {
570		return xxx_messageInfo_LabelValuesResponse.Marshal(b, m, deterministic)
571	} else {
572		b = b[:cap(b)]
573		n, err := m.MarshalToSizedBuffer(b)
574		if err != nil {
575			return nil, err
576		}
577		return b[:n], nil
578	}
579}
580func (m *LabelValuesResponse) XXX_Merge(src proto.Message) {
581	xxx_messageInfo_LabelValuesResponse.Merge(m, src)
582}
583func (m *LabelValuesResponse) XXX_Size() int {
584	return m.Size()
585}
586func (m *LabelValuesResponse) XXX_DiscardUnknown() {
587	xxx_messageInfo_LabelValuesResponse.DiscardUnknown(m)
588}
589
590var xxx_messageInfo_LabelValuesResponse proto.InternalMessageInfo
591
592func init() {
593	proto.RegisterEnum("thanos.StoreType", StoreType_name, StoreType_value)
594	proto.RegisterEnum("thanos.Aggr", Aggr_name, Aggr_value)
595	proto.RegisterType((*WriteResponse)(nil), "thanos.WriteResponse")
596	proto.RegisterType((*WriteRequest)(nil), "thanos.WriteRequest")
597	proto.RegisterType((*InfoRequest)(nil), "thanos.InfoRequest")
598	proto.RegisterType((*InfoResponse)(nil), "thanos.InfoResponse")
599	proto.RegisterType((*SeriesRequest)(nil), "thanos.SeriesRequest")
600	proto.RegisterType((*SeriesResponse)(nil), "thanos.SeriesResponse")
601	proto.RegisterType((*LabelNamesRequest)(nil), "thanos.LabelNamesRequest")
602	proto.RegisterType((*LabelNamesResponse)(nil), "thanos.LabelNamesResponse")
603	proto.RegisterType((*LabelValuesRequest)(nil), "thanos.LabelValuesRequest")
604	proto.RegisterType((*LabelValuesResponse)(nil), "thanos.LabelValuesResponse")
605}
606
607func init() { proto.RegisterFile("store/storepb/rpc.proto", fileDescriptor_a938d55a388af629) }
608
609var fileDescriptor_a938d55a388af629 = []byte{
610	// 1054 bytes of a gzipped FileDescriptorProto
611	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0x5d, 0x6f, 0x1b, 0x45,
612	0x17, 0xf6, 0x7a, 0xfd, 0x79, 0x9c, 0xe4, 0xdd, 0x4e, 0x9c, 0x74, 0xe3, 0x4a, 0x8e, 0x65, 0xe9,
613	0x95, 0xac, 0xa8, 0xd8, 0x60, 0x50, 0x25, 0x50, 0x6f, 0xec, 0xc4, 0x90, 0x88, 0xc6, 0x81, 0x71,
614	0xdc, 0x40, 0x11, 0xb2, 0xd6, 0xce, 0x74, 0xbd, 0x8a, 0xf7, 0x83, 0x9d, 0x31, 0x89, 0xef, 0x10,
615	0xdc, 0x23, 0xc4, 0x7f, 0x42, 0xca, 0x1d, 0xbd, 0x44, 0x5c, 0x54, 0x90, 0xfc, 0x11, 0x34, 0x1f,
616	0x6b, 0x7b, 0x43, 0xda, 0x20, 0xa5, 0x37, 0xd6, 0x9c, 0xf3, 0x9c, 0x33, 0xe7, 0x99, 0xf3, 0xcc,
617	0x19, 0x2f, 0x3c, 0xa4, 0xcc, 0x0f, 0x49, 0x43, 0xfc, 0x06, 0xc3, 0x46, 0x18, 0x8c, 0xea, 0x41,
618	0xe8, 0x33, 0x1f, 0x65, 0xd8, 0xd8, 0xf2, 0x7c, 0x5a, 0xda, 0x8a, 0x07, 0xb0, 0x59, 0x40, 0xa8,
619	0x0c, 0x29, 0x15, 0x6d, 0xdf, 0xf6, 0xc5, 0xb2, 0xc1, 0x57, 0xca, 0x5b, 0x89, 0x27, 0x04, 0xa1,
620	0xef, 0xde, 0xc8, 0x53, 0x5b, 0x4e, 0xac, 0x21, 0x99, 0xdc, 0x84, 0x6c, 0xdf, 0xb7, 0x27, 0xa4,
621	0x21, 0xac, 0xe1, 0xf4, 0x65, 0xc3, 0xf2, 0x66, 0x12, 0xaa, 0xfe, 0x0f, 0x56, 0x4f, 0x42, 0x87,
622	0x11, 0x4c, 0x68, 0xe0, 0x7b, 0x94, 0x54, 0x7f, 0xd2, 0x60, 0x45, 0x79, 0xbe, 0x9b, 0x12, 0xca,
623	0x50, 0x0b, 0x80, 0x39, 0x2e, 0xa1, 0x24, 0x74, 0x08, 0x35, 0xb5, 0x8a, 0x5e, 0x2b, 0x34, 0x1f,
624	0xf1, 0x6c, 0x97, 0xb0, 0x31, 0x99, 0xd2, 0xc1, 0xc8, 0x0f, 0x66, 0xf5, 0x63, 0xc7, 0x25, 0x3d,
625	0x11, 0xd2, 0x4e, 0x5d, 0xbe, 0xde, 0x4e, 0xe0, 0xa5, 0x24, 0xb4, 0x09, 0x19, 0x46, 0x3c, 0xcb,
626	0x63, 0x66, 0xb2, 0xa2, 0xd5, 0xf2, 0x58, 0x59, 0xc8, 0x84, 0x6c, 0x48, 0x82, 0x89, 0x33, 0xb2,
627	0x4c, 0xbd, 0xa2, 0xd5, 0x74, 0x1c, 0x99, 0xd5, 0x55, 0x28, 0x1c, 0x78, 0x2f, 0x7d, 0xc5, 0xa1,
628	0xfa, 0x6b, 0x12, 0x56, 0xa4, 0x2d, 0x59, 0xa2, 0x11, 0x64, 0xc4, 0x41, 0x23, 0x42, 0xab, 0x75,
629	0xd9, 0xd8, 0xfa, 0x33, 0xee, 0x6d, 0x3f, 0xe5, 0x14, 0xfe, 0x7c, 0xbd, 0xfd, 0x91, 0xed, 0xb0,
630	0xf1, 0x74, 0x58, 0x1f, 0xf9, 0x6e, 0x43, 0x06, 0xbc, 0xe7, 0xf8, 0x6a, 0xd5, 0x08, 0xce, 0xec,
631	0x46, 0xac, 0x67, 0xf5, 0x17, 0x22, 0x1b, 0xab, 0xad, 0xd1, 0x16, 0xe4, 0x5c, 0xc7, 0x1b, 0xf0,
632	0x83, 0x08, 0xe2, 0x3a, 0xce, 0xba, 0x8e, 0xc7, 0x4f, 0x2a, 0x20, 0xeb, 0x42, 0x42, 0x8a, 0xba,
633	0x6b, 0x5d, 0x08, 0xa8, 0x01, 0x79, 0xb1, 0xeb, 0xf1, 0x2c, 0x20, 0x66, 0xaa, 0xa2, 0xd5, 0xd6,
634	0x9a, 0x0f, 0x22, 0x76, 0xbd, 0x08, 0xc0, 0x8b, 0x18, 0xf4, 0x04, 0x40, 0x14, 0x1c, 0x50, 0xc2,
635	0xa8, 0x99, 0x16, 0xe7, 0x99, 0x67, 0x48, 0x4a, 0x3d, 0xc2, 0x54, 0x5b, 0xf3, 0x13, 0x65, 0xd3,
636	0xea, 0x6f, 0x3a, 0xac, 0xca, 0x96, 0x47, 0x52, 0x2d, 0x13, 0xd6, 0xde, 0x4c, 0x38, 0x19, 0x27,
637	0xfc, 0x84, 0x43, 0x6c, 0x34, 0x26, 0x21, 0x35, 0x75, 0x51, 0xbd, 0x18, 0xeb, 0xe6, 0xa1, 0x04,
638	0x15, 0x81, 0x79, 0x2c, 0x6a, 0xc2, 0x06, 0xdf, 0x32, 0x24, 0xd4, 0x9f, 0x4c, 0x99, 0xe3, 0x7b,
639	0x83, 0x73, 0xc7, 0x3b, 0xf5, 0xcf, 0xc5, 0xa1, 0x75, 0xbc, 0xee, 0x5a, 0x17, 0x78, 0x8e, 0x9d,
640	0x08, 0x08, 0x3d, 0x06, 0xb0, 0x6c, 0x3b, 0x24, 0xb6, 0xc5, 0x88, 0x3c, 0xeb, 0x5a, 0x73, 0x25,
641	0xaa, 0xd6, 0xb2, 0xed, 0x10, 0x2f, 0xe1, 0xe8, 0x13, 0xd8, 0x0a, 0xac, 0x90, 0x39, 0xd6, 0x84,
642	0x57, 0x11, 0xca, 0x0f, 0x4e, 0x1d, 0x6a, 0x0d, 0x27, 0xe4, 0xd4, 0xcc, 0x54, 0xb4, 0x5a, 0x0e,
643	0x3f, 0x54, 0x01, 0xd1, 0xcd, 0xd8, 0x53, 0x30, 0xfa, 0xe6, 0x96, 0x5c, 0xca, 0x42, 0x8b, 0x11,
644	0x7b, 0x66, 0x66, 0x85, 0x2c, 0xdb, 0x51, 0xe1, 0x2f, 0xe2, 0x7b, 0xf4, 0x54, 0xd8, 0xbf, 0x36,
645	0x8f, 0x00, 0xb4, 0x0d, 0x05, 0x7a, 0xe6, 0x04, 0x83, 0xd1, 0x78, 0xea, 0x9d, 0x51, 0x33, 0x27,
646	0xa8, 0x00, 0x77, 0xed, 0x0a, 0x0f, 0xda, 0x81, 0xf4, 0xd8, 0xf1, 0x18, 0x35, 0xf3, 0x15, 0x4d,
647	0x34, 0x54, 0x4e, 0x60, 0x3d, 0x9a, 0xc0, 0x7a, 0xcb, 0x9b, 0x61, 0x19, 0x52, 0xfd, 0x59, 0x83,
648	0xb5, 0x48, 0x47, 0x75, 0xbd, 0x6b, 0x90, 0x99, 0xcf, 0x1b, 0xcf, 0x5f, 0x9b, 0x5f, 0x20, 0xe1,
649	0xdd, 0x4f, 0x60, 0x85, 0xa3, 0x12, 0x64, 0xcf, 0xad, 0xd0, 0x73, 0x3c, 0x5b, 0xce, 0xd6, 0x7e,
650	0x02, 0x47, 0x0e, 0xf4, 0x38, 0x22, 0xa1, 0xbf, 0x99, 0xc4, 0x7e, 0x42, 0xd1, 0x68, 0xe7, 0x20,
651	0x13, 0x12, 0x3a, 0x9d, 0xb0, 0xea, 0x0f, 0x49, 0x78, 0x20, 0x94, 0xef, 0x5a, 0xee, 0xe2, 0x72,
652	0xbd, 0x55, 0x0c, 0xed, 0x1e, 0x62, 0x24, 0xef, 0x29, 0x46, 0x11, 0xd2, 0x94, 0x59, 0x21, 0x53,
653	0x83, 0x28, 0x0d, 0x64, 0x80, 0x4e, 0xbc, 0x53, 0x75, 0x17, 0xf9, 0x72, 0xa1, 0x49, 0xfa, 0x6e,
654	0x4d, 0x42, 0x40, 0xcb, 0x1d, 0x50, 0xb2, 0x14, 0x21, 0xed, 0x71, 0x87, 0x78, 0x74, 0xf2, 0x58,
655	0x1a, 0xa8, 0x04, 0x39, 0xd5, 0x71, 0x6a, 0x26, 0x05, 0x30, 0xb7, 0x17, 0x35, 0xf5, 0xbb, 0x6b,
656	0xfe, 0x9e, 0x54, 0x45, 0x9f, 0x5b, 0x93, 0xe9, 0xa2, 0xef, 0x45, 0x48, 0x8b, 0x99, 0x17, 0x3d,
657	0xce, 0x63, 0x69, 0xbc, 0x5d, 0x8d, 0xe4, 0x3d, 0xd4, 0xd0, 0xdf, 0x95, 0x1a, 0xa9, 0x5b, 0xd4,
658	0x48, 0xdf, 0xa2, 0x46, 0xe6, 0xce, 0xce, 0xc4, 0x5e, 0xa8, 0xec, 0x7f, 0x7f, 0xa1, 0xaa, 0x53,
659	0x58, 0x8f, 0x35, 0x54, 0xc9, 0xb8, 0x09, 0x99, 0xef, 0x85, 0x47, 0xe9, 0xa8, 0xac, 0x77, 0x25,
660	0xe4, 0xce, 0xb7, 0x90, 0x9f, 0x3f, 0xf4, 0xa8, 0x00, 0xd9, 0x7e, 0xf7, 0xf3, 0xee, 0xd1, 0x49,
661	0xd7, 0x48, 0xa0, 0x3c, 0xa4, 0xbf, 0xec, 0x77, 0xf0, 0xd7, 0x86, 0x86, 0x72, 0x90, 0xc2, 0xfd,
662	0x67, 0x1d, 0x23, 0xc9, 0x23, 0x7a, 0x07, 0x7b, 0x9d, 0xdd, 0x16, 0x36, 0x74, 0x1e, 0xd1, 0x3b,
663	0x3e, 0xc2, 0x1d, 0x23, 0xc5, 0xfd, 0xb8, 0xb3, 0xdb, 0x39, 0x78, 0xde, 0x31, 0xd2, 0xdc, 0xbf,
664	0xd7, 0x69, 0xf7, 0x3f, 0x33, 0x32, 0x3b, 0x6d, 0x48, 0xf1, 0x97, 0x12, 0x65, 0x41, 0xc7, 0xad,
665	0x13, 0xb9, 0xeb, 0xee, 0x51, 0xbf, 0x7b, 0x6c, 0x68, 0xdc, 0xd7, 0xeb, 0x1f, 0x1a, 0x49, 0xbe,
666	0x38, 0x3c, 0xe8, 0x1a, 0xba, 0x58, 0xb4, 0xbe, 0x92, 0xdb, 0x89, 0xa8, 0x0e, 0x36, 0xd2, 0xcd,
667	0x1f, 0x93, 0x90, 0x16, 0x1c, 0xd1, 0x07, 0x90, 0xe2, 0xff, 0xac, 0x68, 0x3d, 0xea, 0xe8, 0xd2,
668	0xff, 0x6e, 0xa9, 0x18, 0x77, 0xaa, 0xfe, 0x7d, 0x0c, 0x19, 0xf9, 0x0e, 0xa1, 0x8d, 0xf8, 0xbb,
669	0x14, 0xa5, 0x6d, 0xde, 0x74, 0xcb, 0xc4, 0xf7, 0x35, 0xb4, 0x0b, 0xb0, 0x98, 0x2b, 0xb4, 0x15,
670	0x53, 0x71, 0xf9, 0xb5, 0x29, 0x95, 0x6e, 0x83, 0x54, 0xfd, 0x4f, 0xa1, 0xb0, 0x24, 0x2b, 0x8a,
671	0x87, 0xc6, 0x86, 0xa7, 0xf4, 0xe8, 0x56, 0x4c, 0xee, 0xd3, 0xec, 0xc2, 0x9a, 0xf8, 0xd2, 0xe1,
672	0x53, 0x21, 0x9b, 0xf1, 0x14, 0x0a, 0x98, 0xb8, 0x3e, 0x23, 0xc2, 0x8f, 0xe6, 0xc7, 0x5f, 0xfe,
673	0x20, 0x2a, 0x6d, 0xdc, 0xf0, 0xaa, 0x0f, 0xa7, 0x44, 0xfb, 0xff, 0x97, 0x7f, 0x97, 0x13, 0x97,
674	0x57, 0x65, 0xed, 0xd5, 0x55, 0x59, 0xfb, 0xeb, 0xaa, 0xac, 0xfd, 0x72, 0x5d, 0x4e, 0xbc, 0xba,
675	0x2e, 0x27, 0xfe, 0xb8, 0x2e, 0x27, 0x5e, 0x64, 0xd5, 0xb7, 0xdb, 0x30, 0x23, 0xee, 0xcc, 0x87,
676	0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0xfd, 0xe5, 0x37, 0xcd, 0x25, 0x0a, 0x00, 0x00,
677}
678
679// Reference imports to suppress errors if they are not otherwise used.
680var _ context.Context
681var _ grpc.ClientConn
682
683// This is a compile-time assertion to ensure that this generated file
684// is compatible with the grpc package it is being compiled against.
685const _ = grpc.SupportPackageIsVersion4
686
687// StoreClient is the client API for Store service.
688//
689// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
690type StoreClient interface {
691	/// Info returns meta information about a store e.g labels that makes that store unique as well as time range that is
692	/// available.
693	Info(ctx context.Context, in *InfoRequest, opts ...grpc.CallOption) (*InfoResponse, error)
694	/// Series streams each Series (Labels and chunk/downsampling chunk) for given label matchers and time range.
695	///
696	/// Series should strictly stream full series after series, optionally split by time. This means that a single frame can contain
697	/// partition of the single series, but once a new series is started to be streamed it means that no more data will
698	/// be sent for previous one.
699	/// Series has to be sorted.
700	///
701	/// There is no requirements on chunk sorting, however it is recommended to have chunk sorted by chunk min time.
702	/// This heavily optimizes the resource usage on Querier / Federated Queries.
703	Series(ctx context.Context, in *SeriesRequest, opts ...grpc.CallOption) (Store_SeriesClient, error)
704	/// LabelNames returns all label names that is available.
705	/// Currently unimplemented in all Thanos implementations, because Query API does not implement this either.
706	LabelNames(ctx context.Context, in *LabelNamesRequest, opts ...grpc.CallOption) (*LabelNamesResponse, error)
707	/// LabelValues returns all label values for given label name.
708	LabelValues(ctx context.Context, in *LabelValuesRequest, opts ...grpc.CallOption) (*LabelValuesResponse, error)
709}
710
711type storeClient struct {
712	cc *grpc.ClientConn
713}
714
715func NewStoreClient(cc *grpc.ClientConn) StoreClient {
716	return &storeClient{cc}
717}
718
719func (c *storeClient) Info(ctx context.Context, in *InfoRequest, opts ...grpc.CallOption) (*InfoResponse, error) {
720	out := new(InfoResponse)
721	err := c.cc.Invoke(ctx, "/thanos.Store/Info", in, out, opts...)
722	if err != nil {
723		return nil, err
724	}
725	return out, nil
726}
727
728func (c *storeClient) Series(ctx context.Context, in *SeriesRequest, opts ...grpc.CallOption) (Store_SeriesClient, error) {
729	stream, err := c.cc.NewStream(ctx, &_Store_serviceDesc.Streams[0], "/thanos.Store/Series", opts...)
730	if err != nil {
731		return nil, err
732	}
733	x := &storeSeriesClient{stream}
734	if err := x.ClientStream.SendMsg(in); err != nil {
735		return nil, err
736	}
737	if err := x.ClientStream.CloseSend(); err != nil {
738		return nil, err
739	}
740	return x, nil
741}
742
743type Store_SeriesClient interface {
744	Recv() (*SeriesResponse, error)
745	grpc.ClientStream
746}
747
748type storeSeriesClient struct {
749	grpc.ClientStream
750}
751
752func (x *storeSeriesClient) Recv() (*SeriesResponse, error) {
753	m := new(SeriesResponse)
754	if err := x.ClientStream.RecvMsg(m); err != nil {
755		return nil, err
756	}
757	return m, nil
758}
759
760func (c *storeClient) LabelNames(ctx context.Context, in *LabelNamesRequest, opts ...grpc.CallOption) (*LabelNamesResponse, error) {
761	out := new(LabelNamesResponse)
762	err := c.cc.Invoke(ctx, "/thanos.Store/LabelNames", in, out, opts...)
763	if err != nil {
764		return nil, err
765	}
766	return out, nil
767}
768
769func (c *storeClient) LabelValues(ctx context.Context, in *LabelValuesRequest, opts ...grpc.CallOption) (*LabelValuesResponse, error) {
770	out := new(LabelValuesResponse)
771	err := c.cc.Invoke(ctx, "/thanos.Store/LabelValues", in, out, opts...)
772	if err != nil {
773		return nil, err
774	}
775	return out, nil
776}
777
778// StoreServer is the server API for Store service.
779type StoreServer interface {
780	/// Info returns meta information about a store e.g labels that makes that store unique as well as time range that is
781	/// available.
782	Info(context.Context, *InfoRequest) (*InfoResponse, error)
783	/// Series streams each Series (Labels and chunk/downsampling chunk) for given label matchers and time range.
784	///
785	/// Series should strictly stream full series after series, optionally split by time. This means that a single frame can contain
786	/// partition of the single series, but once a new series is started to be streamed it means that no more data will
787	/// be sent for previous one.
788	/// Series has to be sorted.
789	///
790	/// There is no requirements on chunk sorting, however it is recommended to have chunk sorted by chunk min time.
791	/// This heavily optimizes the resource usage on Querier / Federated Queries.
792	Series(*SeriesRequest, Store_SeriesServer) error
793	/// LabelNames returns all label names that is available.
794	/// Currently unimplemented in all Thanos implementations, because Query API does not implement this either.
795	LabelNames(context.Context, *LabelNamesRequest) (*LabelNamesResponse, error)
796	/// LabelValues returns all label values for given label name.
797	LabelValues(context.Context, *LabelValuesRequest) (*LabelValuesResponse, error)
798}
799
800// UnimplementedStoreServer can be embedded to have forward compatible implementations.
801type UnimplementedStoreServer struct {
802}
803
804func (*UnimplementedStoreServer) Info(ctx context.Context, req *InfoRequest) (*InfoResponse, error) {
805	return nil, status.Errorf(codes.Unimplemented, "method Info not implemented")
806}
807func (*UnimplementedStoreServer) Series(req *SeriesRequest, srv Store_SeriesServer) error {
808	return status.Errorf(codes.Unimplemented, "method Series not implemented")
809}
810func (*UnimplementedStoreServer) LabelNames(ctx context.Context, req *LabelNamesRequest) (*LabelNamesResponse, error) {
811	return nil, status.Errorf(codes.Unimplemented, "method LabelNames not implemented")
812}
813func (*UnimplementedStoreServer) LabelValues(ctx context.Context, req *LabelValuesRequest) (*LabelValuesResponse, error) {
814	return nil, status.Errorf(codes.Unimplemented, "method LabelValues not implemented")
815}
816
817func RegisterStoreServer(s *grpc.Server, srv StoreServer) {
818	s.RegisterService(&_Store_serviceDesc, srv)
819}
820
821func _Store_Info_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
822	in := new(InfoRequest)
823	if err := dec(in); err != nil {
824		return nil, err
825	}
826	if interceptor == nil {
827		return srv.(StoreServer).Info(ctx, in)
828	}
829	info := &grpc.UnaryServerInfo{
830		Server:     srv,
831		FullMethod: "/thanos.Store/Info",
832	}
833	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
834		return srv.(StoreServer).Info(ctx, req.(*InfoRequest))
835	}
836	return interceptor(ctx, in, info, handler)
837}
838
839func _Store_Series_Handler(srv interface{}, stream grpc.ServerStream) error {
840	m := new(SeriesRequest)
841	if err := stream.RecvMsg(m); err != nil {
842		return err
843	}
844	return srv.(StoreServer).Series(m, &storeSeriesServer{stream})
845}
846
847type Store_SeriesServer interface {
848	Send(*SeriesResponse) error
849	grpc.ServerStream
850}
851
852type storeSeriesServer struct {
853	grpc.ServerStream
854}
855
856func (x *storeSeriesServer) Send(m *SeriesResponse) error {
857	return x.ServerStream.SendMsg(m)
858}
859
860func _Store_LabelNames_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
861	in := new(LabelNamesRequest)
862	if err := dec(in); err != nil {
863		return nil, err
864	}
865	if interceptor == nil {
866		return srv.(StoreServer).LabelNames(ctx, in)
867	}
868	info := &grpc.UnaryServerInfo{
869		Server:     srv,
870		FullMethod: "/thanos.Store/LabelNames",
871	}
872	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
873		return srv.(StoreServer).LabelNames(ctx, req.(*LabelNamesRequest))
874	}
875	return interceptor(ctx, in, info, handler)
876}
877
878func _Store_LabelValues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
879	in := new(LabelValuesRequest)
880	if err := dec(in); err != nil {
881		return nil, err
882	}
883	if interceptor == nil {
884		return srv.(StoreServer).LabelValues(ctx, in)
885	}
886	info := &grpc.UnaryServerInfo{
887		Server:     srv,
888		FullMethod: "/thanos.Store/LabelValues",
889	}
890	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
891		return srv.(StoreServer).LabelValues(ctx, req.(*LabelValuesRequest))
892	}
893	return interceptor(ctx, in, info, handler)
894}
895
896var _Store_serviceDesc = grpc.ServiceDesc{
897	ServiceName: "thanos.Store",
898	HandlerType: (*StoreServer)(nil),
899	Methods: []grpc.MethodDesc{
900		{
901			MethodName: "Info",
902			Handler:    _Store_Info_Handler,
903		},
904		{
905			MethodName: "LabelNames",
906			Handler:    _Store_LabelNames_Handler,
907		},
908		{
909			MethodName: "LabelValues",
910			Handler:    _Store_LabelValues_Handler,
911		},
912	},
913	Streams: []grpc.StreamDesc{
914		{
915			StreamName:    "Series",
916			Handler:       _Store_Series_Handler,
917			ServerStreams: true,
918		},
919	},
920	Metadata: "store/storepb/rpc.proto",
921}
922
923// WriteableStoreClient is the client API for WriteableStore service.
924//
925// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
926type WriteableStoreClient interface {
927	// WriteRequest allows you to write metrics to this store via remote write
928	RemoteWrite(ctx context.Context, in *WriteRequest, opts ...grpc.CallOption) (*WriteResponse, error)
929}
930
931type writeableStoreClient struct {
932	cc *grpc.ClientConn
933}
934
935func NewWriteableStoreClient(cc *grpc.ClientConn) WriteableStoreClient {
936	return &writeableStoreClient{cc}
937}
938
939func (c *writeableStoreClient) RemoteWrite(ctx context.Context, in *WriteRequest, opts ...grpc.CallOption) (*WriteResponse, error) {
940	out := new(WriteResponse)
941	err := c.cc.Invoke(ctx, "/thanos.WriteableStore/RemoteWrite", in, out, opts...)
942	if err != nil {
943		return nil, err
944	}
945	return out, nil
946}
947
948// WriteableStoreServer is the server API for WriteableStore service.
949type WriteableStoreServer interface {
950	// WriteRequest allows you to write metrics to this store via remote write
951	RemoteWrite(context.Context, *WriteRequest) (*WriteResponse, error)
952}
953
954// UnimplementedWriteableStoreServer can be embedded to have forward compatible implementations.
955type UnimplementedWriteableStoreServer struct {
956}
957
958func (*UnimplementedWriteableStoreServer) RemoteWrite(ctx context.Context, req *WriteRequest) (*WriteResponse, error) {
959	return nil, status.Errorf(codes.Unimplemented, "method RemoteWrite not implemented")
960}
961
962func RegisterWriteableStoreServer(s *grpc.Server, srv WriteableStoreServer) {
963	s.RegisterService(&_WriteableStore_serviceDesc, srv)
964}
965
966func _WriteableStore_RemoteWrite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
967	in := new(WriteRequest)
968	if err := dec(in); err != nil {
969		return nil, err
970	}
971	if interceptor == nil {
972		return srv.(WriteableStoreServer).RemoteWrite(ctx, in)
973	}
974	info := &grpc.UnaryServerInfo{
975		Server:     srv,
976		FullMethod: "/thanos.WriteableStore/RemoteWrite",
977	}
978	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
979		return srv.(WriteableStoreServer).RemoteWrite(ctx, req.(*WriteRequest))
980	}
981	return interceptor(ctx, in, info, handler)
982}
983
984var _WriteableStore_serviceDesc = grpc.ServiceDesc{
985	ServiceName: "thanos.WriteableStore",
986	HandlerType: (*WriteableStoreServer)(nil),
987	Methods: []grpc.MethodDesc{
988		{
989			MethodName: "RemoteWrite",
990			Handler:    _WriteableStore_RemoteWrite_Handler,
991		},
992	},
993	Streams:  []grpc.StreamDesc{},
994	Metadata: "store/storepb/rpc.proto",
995}
996
997func (m *WriteResponse) Marshal() (dAtA []byte, err error) {
998	size := m.Size()
999	dAtA = make([]byte, size)
1000	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1001	if err != nil {
1002		return nil, err
1003	}
1004	return dAtA[:n], nil
1005}
1006
1007func (m *WriteResponse) MarshalTo(dAtA []byte) (int, error) {
1008	size := m.Size()
1009	return m.MarshalToSizedBuffer(dAtA[:size])
1010}
1011
1012func (m *WriteResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1013	i := len(dAtA)
1014	_ = i
1015	var l int
1016	_ = l
1017	return len(dAtA) - i, nil
1018}
1019
1020func (m *WriteRequest) Marshal() (dAtA []byte, err error) {
1021	size := m.Size()
1022	dAtA = make([]byte, size)
1023	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1024	if err != nil {
1025		return nil, err
1026	}
1027	return dAtA[:n], nil
1028}
1029
1030func (m *WriteRequest) MarshalTo(dAtA []byte) (int, error) {
1031	size := m.Size()
1032	return m.MarshalToSizedBuffer(dAtA[:size])
1033}
1034
1035func (m *WriteRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1036	i := len(dAtA)
1037	_ = i
1038	var l int
1039	_ = l
1040	if m.Replica != 0 {
1041		i = encodeVarintRpc(dAtA, i, uint64(m.Replica))
1042		i--
1043		dAtA[i] = 0x18
1044	}
1045	if len(m.Tenant) > 0 {
1046		i -= len(m.Tenant)
1047		copy(dAtA[i:], m.Tenant)
1048		i = encodeVarintRpc(dAtA, i, uint64(len(m.Tenant)))
1049		i--
1050		dAtA[i] = 0x12
1051	}
1052	if len(m.Timeseries) > 0 {
1053		for iNdEx := len(m.Timeseries) - 1; iNdEx >= 0; iNdEx-- {
1054			{
1055				size, err := m.Timeseries[iNdEx].MarshalToSizedBuffer(dAtA[:i])
1056				if err != nil {
1057					return 0, err
1058				}
1059				i -= size
1060				i = encodeVarintRpc(dAtA, i, uint64(size))
1061			}
1062			i--
1063			dAtA[i] = 0xa
1064		}
1065	}
1066	return len(dAtA) - i, nil
1067}
1068
1069func (m *InfoRequest) Marshal() (dAtA []byte, err error) {
1070	size := m.Size()
1071	dAtA = make([]byte, size)
1072	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1073	if err != nil {
1074		return nil, err
1075	}
1076	return dAtA[:n], nil
1077}
1078
1079func (m *InfoRequest) MarshalTo(dAtA []byte) (int, error) {
1080	size := m.Size()
1081	return m.MarshalToSizedBuffer(dAtA[:size])
1082}
1083
1084func (m *InfoRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1085	i := len(dAtA)
1086	_ = i
1087	var l int
1088	_ = l
1089	return len(dAtA) - i, nil
1090}
1091
1092func (m *InfoResponse) Marshal() (dAtA []byte, err error) {
1093	size := m.Size()
1094	dAtA = make([]byte, size)
1095	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1096	if err != nil {
1097		return nil, err
1098	}
1099	return dAtA[:n], nil
1100}
1101
1102func (m *InfoResponse) MarshalTo(dAtA []byte) (int, error) {
1103	size := m.Size()
1104	return m.MarshalToSizedBuffer(dAtA[:size])
1105}
1106
1107func (m *InfoResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1108	i := len(dAtA)
1109	_ = i
1110	var l int
1111	_ = l
1112	if len(m.LabelSets) > 0 {
1113		for iNdEx := len(m.LabelSets) - 1; iNdEx >= 0; iNdEx-- {
1114			{
1115				size, err := m.LabelSets[iNdEx].MarshalToSizedBuffer(dAtA[:i])
1116				if err != nil {
1117					return 0, err
1118				}
1119				i -= size
1120				i = encodeVarintRpc(dAtA, i, uint64(size))
1121			}
1122			i--
1123			dAtA[i] = 0x2a
1124		}
1125	}
1126	if m.StoreType != 0 {
1127		i = encodeVarintRpc(dAtA, i, uint64(m.StoreType))
1128		i--
1129		dAtA[i] = 0x20
1130	}
1131	if m.MaxTime != 0 {
1132		i = encodeVarintRpc(dAtA, i, uint64(m.MaxTime))
1133		i--
1134		dAtA[i] = 0x18
1135	}
1136	if m.MinTime != 0 {
1137		i = encodeVarintRpc(dAtA, i, uint64(m.MinTime))
1138		i--
1139		dAtA[i] = 0x10
1140	}
1141	if len(m.Labels) > 0 {
1142		for iNdEx := len(m.Labels) - 1; iNdEx >= 0; iNdEx-- {
1143			{
1144				size := m.Labels[iNdEx].Size()
1145				i -= size
1146				if _, err := m.Labels[iNdEx].MarshalTo(dAtA[i:]); err != nil {
1147					return 0, err
1148				}
1149				i = encodeVarintRpc(dAtA, i, uint64(size))
1150			}
1151			i--
1152			dAtA[i] = 0xa
1153		}
1154	}
1155	return len(dAtA) - i, nil
1156}
1157
1158func (m *SeriesRequest) Marshal() (dAtA []byte, err error) {
1159	size := m.Size()
1160	dAtA = make([]byte, size)
1161	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1162	if err != nil {
1163		return nil, err
1164	}
1165	return dAtA[:n], nil
1166}
1167
1168func (m *SeriesRequest) MarshalTo(dAtA []byte) (int, error) {
1169	size := m.Size()
1170	return m.MarshalToSizedBuffer(dAtA[:size])
1171}
1172
1173func (m *SeriesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1174	i := len(dAtA)
1175	_ = i
1176	var l int
1177	_ = l
1178	if m.Hints != nil {
1179		{
1180			size, err := m.Hints.MarshalToSizedBuffer(dAtA[:i])
1181			if err != nil {
1182				return 0, err
1183			}
1184			i -= size
1185			i = encodeVarintRpc(dAtA, i, uint64(size))
1186		}
1187		i--
1188		dAtA[i] = 0x4a
1189	}
1190	if m.SkipChunks {
1191		i--
1192		if m.SkipChunks {
1193			dAtA[i] = 1
1194		} else {
1195			dAtA[i] = 0
1196		}
1197		i--
1198		dAtA[i] = 0x40
1199	}
1200	if m.PartialResponseStrategy != 0 {
1201		i = encodeVarintRpc(dAtA, i, uint64(m.PartialResponseStrategy))
1202		i--
1203		dAtA[i] = 0x38
1204	}
1205	if m.PartialResponseDisabled {
1206		i--
1207		if m.PartialResponseDisabled {
1208			dAtA[i] = 1
1209		} else {
1210			dAtA[i] = 0
1211		}
1212		i--
1213		dAtA[i] = 0x30
1214	}
1215	if len(m.Aggregates) > 0 {
1216		dAtA3 := make([]byte, len(m.Aggregates)*10)
1217		var j2 int
1218		for _, num := range m.Aggregates {
1219			for num >= 1<<7 {
1220				dAtA3[j2] = uint8(uint64(num)&0x7f | 0x80)
1221				num >>= 7
1222				j2++
1223			}
1224			dAtA3[j2] = uint8(num)
1225			j2++
1226		}
1227		i -= j2
1228		copy(dAtA[i:], dAtA3[:j2])
1229		i = encodeVarintRpc(dAtA, i, uint64(j2))
1230		i--
1231		dAtA[i] = 0x2a
1232	}
1233	if m.MaxResolutionWindow != 0 {
1234		i = encodeVarintRpc(dAtA, i, uint64(m.MaxResolutionWindow))
1235		i--
1236		dAtA[i] = 0x20
1237	}
1238	if len(m.Matchers) > 0 {
1239		for iNdEx := len(m.Matchers) - 1; iNdEx >= 0; iNdEx-- {
1240			{
1241				size, err := m.Matchers[iNdEx].MarshalToSizedBuffer(dAtA[:i])
1242				if err != nil {
1243					return 0, err
1244				}
1245				i -= size
1246				i = encodeVarintRpc(dAtA, i, uint64(size))
1247			}
1248			i--
1249			dAtA[i] = 0x1a
1250		}
1251	}
1252	if m.MaxTime != 0 {
1253		i = encodeVarintRpc(dAtA, i, uint64(m.MaxTime))
1254		i--
1255		dAtA[i] = 0x10
1256	}
1257	if m.MinTime != 0 {
1258		i = encodeVarintRpc(dAtA, i, uint64(m.MinTime))
1259		i--
1260		dAtA[i] = 0x8
1261	}
1262	return len(dAtA) - i, nil
1263}
1264
1265func (m *SeriesResponse) Marshal() (dAtA []byte, err error) {
1266	size := m.Size()
1267	dAtA = make([]byte, size)
1268	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1269	if err != nil {
1270		return nil, err
1271	}
1272	return dAtA[:n], nil
1273}
1274
1275func (m *SeriesResponse) MarshalTo(dAtA []byte) (int, error) {
1276	size := m.Size()
1277	return m.MarshalToSizedBuffer(dAtA[:size])
1278}
1279
1280func (m *SeriesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1281	i := len(dAtA)
1282	_ = i
1283	var l int
1284	_ = l
1285	if m.Result != nil {
1286		{
1287			size := m.Result.Size()
1288			i -= size
1289			if _, err := m.Result.MarshalTo(dAtA[i:]); err != nil {
1290				return 0, err
1291			}
1292		}
1293	}
1294	return len(dAtA) - i, nil
1295}
1296
1297func (m *SeriesResponse_Series) MarshalTo(dAtA []byte) (int, error) {
1298	size := m.Size()
1299	return m.MarshalToSizedBuffer(dAtA[:size])
1300}
1301
1302func (m *SeriesResponse_Series) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1303	i := len(dAtA)
1304	if m.Series != nil {
1305		{
1306			size, err := m.Series.MarshalToSizedBuffer(dAtA[:i])
1307			if err != nil {
1308				return 0, err
1309			}
1310			i -= size
1311			i = encodeVarintRpc(dAtA, i, uint64(size))
1312		}
1313		i--
1314		dAtA[i] = 0xa
1315	}
1316	return len(dAtA) - i, nil
1317}
1318func (m *SeriesResponse_Warning) MarshalTo(dAtA []byte) (int, error) {
1319	size := m.Size()
1320	return m.MarshalToSizedBuffer(dAtA[:size])
1321}
1322
1323func (m *SeriesResponse_Warning) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1324	i := len(dAtA)
1325	i -= len(m.Warning)
1326	copy(dAtA[i:], m.Warning)
1327	i = encodeVarintRpc(dAtA, i, uint64(len(m.Warning)))
1328	i--
1329	dAtA[i] = 0x12
1330	return len(dAtA) - i, nil
1331}
1332func (m *SeriesResponse_Hints) MarshalTo(dAtA []byte) (int, error) {
1333	size := m.Size()
1334	return m.MarshalToSizedBuffer(dAtA[:size])
1335}
1336
1337func (m *SeriesResponse_Hints) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1338	i := len(dAtA)
1339	if m.Hints != nil {
1340		{
1341			size, err := m.Hints.MarshalToSizedBuffer(dAtA[:i])
1342			if err != nil {
1343				return 0, err
1344			}
1345			i -= size
1346			i = encodeVarintRpc(dAtA, i, uint64(size))
1347		}
1348		i--
1349		dAtA[i] = 0x1a
1350	}
1351	return len(dAtA) - i, nil
1352}
1353func (m *LabelNamesRequest) Marshal() (dAtA []byte, err error) {
1354	size := m.Size()
1355	dAtA = make([]byte, size)
1356	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1357	if err != nil {
1358		return nil, err
1359	}
1360	return dAtA[:n], nil
1361}
1362
1363func (m *LabelNamesRequest) MarshalTo(dAtA []byte) (int, error) {
1364	size := m.Size()
1365	return m.MarshalToSizedBuffer(dAtA[:size])
1366}
1367
1368func (m *LabelNamesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1369	i := len(dAtA)
1370	_ = i
1371	var l int
1372	_ = l
1373	if m.Hints != nil {
1374		{
1375			size, err := m.Hints.MarshalToSizedBuffer(dAtA[:i])
1376			if err != nil {
1377				return 0, err
1378			}
1379			i -= size
1380			i = encodeVarintRpc(dAtA, i, uint64(size))
1381		}
1382		i--
1383		dAtA[i] = 0x2a
1384	}
1385	if m.End != 0 {
1386		i = encodeVarintRpc(dAtA, i, uint64(m.End))
1387		i--
1388		dAtA[i] = 0x20
1389	}
1390	if m.Start != 0 {
1391		i = encodeVarintRpc(dAtA, i, uint64(m.Start))
1392		i--
1393		dAtA[i] = 0x18
1394	}
1395	if m.PartialResponseStrategy != 0 {
1396		i = encodeVarintRpc(dAtA, i, uint64(m.PartialResponseStrategy))
1397		i--
1398		dAtA[i] = 0x10
1399	}
1400	if m.PartialResponseDisabled {
1401		i--
1402		if m.PartialResponseDisabled {
1403			dAtA[i] = 1
1404		} else {
1405			dAtA[i] = 0
1406		}
1407		i--
1408		dAtA[i] = 0x8
1409	}
1410	return len(dAtA) - i, nil
1411}
1412
1413func (m *LabelNamesResponse) Marshal() (dAtA []byte, err error) {
1414	size := m.Size()
1415	dAtA = make([]byte, size)
1416	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1417	if err != nil {
1418		return nil, err
1419	}
1420	return dAtA[:n], nil
1421}
1422
1423func (m *LabelNamesResponse) MarshalTo(dAtA []byte) (int, error) {
1424	size := m.Size()
1425	return m.MarshalToSizedBuffer(dAtA[:size])
1426}
1427
1428func (m *LabelNamesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1429	i := len(dAtA)
1430	_ = i
1431	var l int
1432	_ = l
1433	if m.Hints != nil {
1434		{
1435			size, err := m.Hints.MarshalToSizedBuffer(dAtA[:i])
1436			if err != nil {
1437				return 0, err
1438			}
1439			i -= size
1440			i = encodeVarintRpc(dAtA, i, uint64(size))
1441		}
1442		i--
1443		dAtA[i] = 0x1a
1444	}
1445	if len(m.Warnings) > 0 {
1446		for iNdEx := len(m.Warnings) - 1; iNdEx >= 0; iNdEx-- {
1447			i -= len(m.Warnings[iNdEx])
1448			copy(dAtA[i:], m.Warnings[iNdEx])
1449			i = encodeVarintRpc(dAtA, i, uint64(len(m.Warnings[iNdEx])))
1450			i--
1451			dAtA[i] = 0x12
1452		}
1453	}
1454	if len(m.Names) > 0 {
1455		for iNdEx := len(m.Names) - 1; iNdEx >= 0; iNdEx-- {
1456			i -= len(m.Names[iNdEx])
1457			copy(dAtA[i:], m.Names[iNdEx])
1458			i = encodeVarintRpc(dAtA, i, uint64(len(m.Names[iNdEx])))
1459			i--
1460			dAtA[i] = 0xa
1461		}
1462	}
1463	return len(dAtA) - i, nil
1464}
1465
1466func (m *LabelValuesRequest) Marshal() (dAtA []byte, err error) {
1467	size := m.Size()
1468	dAtA = make([]byte, size)
1469	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1470	if err != nil {
1471		return nil, err
1472	}
1473	return dAtA[:n], nil
1474}
1475
1476func (m *LabelValuesRequest) MarshalTo(dAtA []byte) (int, error) {
1477	size := m.Size()
1478	return m.MarshalToSizedBuffer(dAtA[:size])
1479}
1480
1481func (m *LabelValuesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1482	i := len(dAtA)
1483	_ = i
1484	var l int
1485	_ = l
1486	if len(m.Matchers) > 0 {
1487		for iNdEx := len(m.Matchers) - 1; iNdEx >= 0; iNdEx-- {
1488			{
1489				size, err := m.Matchers[iNdEx].MarshalToSizedBuffer(dAtA[:i])
1490				if err != nil {
1491					return 0, err
1492				}
1493				i -= size
1494				i = encodeVarintRpc(dAtA, i, uint64(size))
1495			}
1496			i--
1497			dAtA[i] = 0x3a
1498		}
1499	}
1500	if m.Hints != nil {
1501		{
1502			size, err := m.Hints.MarshalToSizedBuffer(dAtA[:i])
1503			if err != nil {
1504				return 0, err
1505			}
1506			i -= size
1507			i = encodeVarintRpc(dAtA, i, uint64(size))
1508		}
1509		i--
1510		dAtA[i] = 0x32
1511	}
1512	if m.End != 0 {
1513		i = encodeVarintRpc(dAtA, i, uint64(m.End))
1514		i--
1515		dAtA[i] = 0x28
1516	}
1517	if m.Start != 0 {
1518		i = encodeVarintRpc(dAtA, i, uint64(m.Start))
1519		i--
1520		dAtA[i] = 0x20
1521	}
1522	if m.PartialResponseStrategy != 0 {
1523		i = encodeVarintRpc(dAtA, i, uint64(m.PartialResponseStrategy))
1524		i--
1525		dAtA[i] = 0x18
1526	}
1527	if m.PartialResponseDisabled {
1528		i--
1529		if m.PartialResponseDisabled {
1530			dAtA[i] = 1
1531		} else {
1532			dAtA[i] = 0
1533		}
1534		i--
1535		dAtA[i] = 0x10
1536	}
1537	if len(m.Label) > 0 {
1538		i -= len(m.Label)
1539		copy(dAtA[i:], m.Label)
1540		i = encodeVarintRpc(dAtA, i, uint64(len(m.Label)))
1541		i--
1542		dAtA[i] = 0xa
1543	}
1544	return len(dAtA) - i, nil
1545}
1546
1547func (m *LabelValuesResponse) Marshal() (dAtA []byte, err error) {
1548	size := m.Size()
1549	dAtA = make([]byte, size)
1550	n, err := m.MarshalToSizedBuffer(dAtA[:size])
1551	if err != nil {
1552		return nil, err
1553	}
1554	return dAtA[:n], nil
1555}
1556
1557func (m *LabelValuesResponse) MarshalTo(dAtA []byte) (int, error) {
1558	size := m.Size()
1559	return m.MarshalToSizedBuffer(dAtA[:size])
1560}
1561
1562func (m *LabelValuesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
1563	i := len(dAtA)
1564	_ = i
1565	var l int
1566	_ = l
1567	if m.Hints != nil {
1568		{
1569			size, err := m.Hints.MarshalToSizedBuffer(dAtA[:i])
1570			if err != nil {
1571				return 0, err
1572			}
1573			i -= size
1574			i = encodeVarintRpc(dAtA, i, uint64(size))
1575		}
1576		i--
1577		dAtA[i] = 0x1a
1578	}
1579	if len(m.Warnings) > 0 {
1580		for iNdEx := len(m.Warnings) - 1; iNdEx >= 0; iNdEx-- {
1581			i -= len(m.Warnings[iNdEx])
1582			copy(dAtA[i:], m.Warnings[iNdEx])
1583			i = encodeVarintRpc(dAtA, i, uint64(len(m.Warnings[iNdEx])))
1584			i--
1585			dAtA[i] = 0x12
1586		}
1587	}
1588	if len(m.Values) > 0 {
1589		for iNdEx := len(m.Values) - 1; iNdEx >= 0; iNdEx-- {
1590			i -= len(m.Values[iNdEx])
1591			copy(dAtA[i:], m.Values[iNdEx])
1592			i = encodeVarintRpc(dAtA, i, uint64(len(m.Values[iNdEx])))
1593			i--
1594			dAtA[i] = 0xa
1595		}
1596	}
1597	return len(dAtA) - i, nil
1598}
1599
1600func encodeVarintRpc(dAtA []byte, offset int, v uint64) int {
1601	offset -= sovRpc(v)
1602	base := offset
1603	for v >= 1<<7 {
1604		dAtA[offset] = uint8(v&0x7f | 0x80)
1605		v >>= 7
1606		offset++
1607	}
1608	dAtA[offset] = uint8(v)
1609	return base
1610}
1611func (m *WriteResponse) Size() (n int) {
1612	if m == nil {
1613		return 0
1614	}
1615	var l int
1616	_ = l
1617	return n
1618}
1619
1620func (m *WriteRequest) Size() (n int) {
1621	if m == nil {
1622		return 0
1623	}
1624	var l int
1625	_ = l
1626	if len(m.Timeseries) > 0 {
1627		for _, e := range m.Timeseries {
1628			l = e.Size()
1629			n += 1 + l + sovRpc(uint64(l))
1630		}
1631	}
1632	l = len(m.Tenant)
1633	if l > 0 {
1634		n += 1 + l + sovRpc(uint64(l))
1635	}
1636	if m.Replica != 0 {
1637		n += 1 + sovRpc(uint64(m.Replica))
1638	}
1639	return n
1640}
1641
1642func (m *InfoRequest) Size() (n int) {
1643	if m == nil {
1644		return 0
1645	}
1646	var l int
1647	_ = l
1648	return n
1649}
1650
1651func (m *InfoResponse) Size() (n int) {
1652	if m == nil {
1653		return 0
1654	}
1655	var l int
1656	_ = l
1657	if len(m.Labels) > 0 {
1658		for _, e := range m.Labels {
1659			l = e.Size()
1660			n += 1 + l + sovRpc(uint64(l))
1661		}
1662	}
1663	if m.MinTime != 0 {
1664		n += 1 + sovRpc(uint64(m.MinTime))
1665	}
1666	if m.MaxTime != 0 {
1667		n += 1 + sovRpc(uint64(m.MaxTime))
1668	}
1669	if m.StoreType != 0 {
1670		n += 1 + sovRpc(uint64(m.StoreType))
1671	}
1672	if len(m.LabelSets) > 0 {
1673		for _, e := range m.LabelSets {
1674			l = e.Size()
1675			n += 1 + l + sovRpc(uint64(l))
1676		}
1677	}
1678	return n
1679}
1680
1681func (m *SeriesRequest) Size() (n int) {
1682	if m == nil {
1683		return 0
1684	}
1685	var l int
1686	_ = l
1687	if m.MinTime != 0 {
1688		n += 1 + sovRpc(uint64(m.MinTime))
1689	}
1690	if m.MaxTime != 0 {
1691		n += 1 + sovRpc(uint64(m.MaxTime))
1692	}
1693	if len(m.Matchers) > 0 {
1694		for _, e := range m.Matchers {
1695			l = e.Size()
1696			n += 1 + l + sovRpc(uint64(l))
1697		}
1698	}
1699	if m.MaxResolutionWindow != 0 {
1700		n += 1 + sovRpc(uint64(m.MaxResolutionWindow))
1701	}
1702	if len(m.Aggregates) > 0 {
1703		l = 0
1704		for _, e := range m.Aggregates {
1705			l += sovRpc(uint64(e))
1706		}
1707		n += 1 + sovRpc(uint64(l)) + l
1708	}
1709	if m.PartialResponseDisabled {
1710		n += 2
1711	}
1712	if m.PartialResponseStrategy != 0 {
1713		n += 1 + sovRpc(uint64(m.PartialResponseStrategy))
1714	}
1715	if m.SkipChunks {
1716		n += 2
1717	}
1718	if m.Hints != nil {
1719		l = m.Hints.Size()
1720		n += 1 + l + sovRpc(uint64(l))
1721	}
1722	return n
1723}
1724
1725func (m *SeriesResponse) Size() (n int) {
1726	if m == nil {
1727		return 0
1728	}
1729	var l int
1730	_ = l
1731	if m.Result != nil {
1732		n += m.Result.Size()
1733	}
1734	return n
1735}
1736
1737func (m *SeriesResponse_Series) Size() (n int) {
1738	if m == nil {
1739		return 0
1740	}
1741	var l int
1742	_ = l
1743	if m.Series != nil {
1744		l = m.Series.Size()
1745		n += 1 + l + sovRpc(uint64(l))
1746	}
1747	return n
1748}
1749func (m *SeriesResponse_Warning) Size() (n int) {
1750	if m == nil {
1751		return 0
1752	}
1753	var l int
1754	_ = l
1755	l = len(m.Warning)
1756	n += 1 + l + sovRpc(uint64(l))
1757	return n
1758}
1759func (m *SeriesResponse_Hints) Size() (n int) {
1760	if m == nil {
1761		return 0
1762	}
1763	var l int
1764	_ = l
1765	if m.Hints != nil {
1766		l = m.Hints.Size()
1767		n += 1 + l + sovRpc(uint64(l))
1768	}
1769	return n
1770}
1771func (m *LabelNamesRequest) Size() (n int) {
1772	if m == nil {
1773		return 0
1774	}
1775	var l int
1776	_ = l
1777	if m.PartialResponseDisabled {
1778		n += 2
1779	}
1780	if m.PartialResponseStrategy != 0 {
1781		n += 1 + sovRpc(uint64(m.PartialResponseStrategy))
1782	}
1783	if m.Start != 0 {
1784		n += 1 + sovRpc(uint64(m.Start))
1785	}
1786	if m.End != 0 {
1787		n += 1 + sovRpc(uint64(m.End))
1788	}
1789	if m.Hints != nil {
1790		l = m.Hints.Size()
1791		n += 1 + l + sovRpc(uint64(l))
1792	}
1793	return n
1794}
1795
1796func (m *LabelNamesResponse) Size() (n int) {
1797	if m == nil {
1798		return 0
1799	}
1800	var l int
1801	_ = l
1802	if len(m.Names) > 0 {
1803		for _, s := range m.Names {
1804			l = len(s)
1805			n += 1 + l + sovRpc(uint64(l))
1806		}
1807	}
1808	if len(m.Warnings) > 0 {
1809		for _, s := range m.Warnings {
1810			l = len(s)
1811			n += 1 + l + sovRpc(uint64(l))
1812		}
1813	}
1814	if m.Hints != nil {
1815		l = m.Hints.Size()
1816		n += 1 + l + sovRpc(uint64(l))
1817	}
1818	return n
1819}
1820
1821func (m *LabelValuesRequest) Size() (n int) {
1822	if m == nil {
1823		return 0
1824	}
1825	var l int
1826	_ = l
1827	l = len(m.Label)
1828	if l > 0 {
1829		n += 1 + l + sovRpc(uint64(l))
1830	}
1831	if m.PartialResponseDisabled {
1832		n += 2
1833	}
1834	if m.PartialResponseStrategy != 0 {
1835		n += 1 + sovRpc(uint64(m.PartialResponseStrategy))
1836	}
1837	if m.Start != 0 {
1838		n += 1 + sovRpc(uint64(m.Start))
1839	}
1840	if m.End != 0 {
1841		n += 1 + sovRpc(uint64(m.End))
1842	}
1843	if m.Hints != nil {
1844		l = m.Hints.Size()
1845		n += 1 + l + sovRpc(uint64(l))
1846	}
1847	if len(m.Matchers) > 0 {
1848		for _, e := range m.Matchers {
1849			l = e.Size()
1850			n += 1 + l + sovRpc(uint64(l))
1851		}
1852	}
1853	return n
1854}
1855
1856func (m *LabelValuesResponse) Size() (n int) {
1857	if m == nil {
1858		return 0
1859	}
1860	var l int
1861	_ = l
1862	if len(m.Values) > 0 {
1863		for _, s := range m.Values {
1864			l = len(s)
1865			n += 1 + l + sovRpc(uint64(l))
1866		}
1867	}
1868	if len(m.Warnings) > 0 {
1869		for _, s := range m.Warnings {
1870			l = len(s)
1871			n += 1 + l + sovRpc(uint64(l))
1872		}
1873	}
1874	if m.Hints != nil {
1875		l = m.Hints.Size()
1876		n += 1 + l + sovRpc(uint64(l))
1877	}
1878	return n
1879}
1880
1881func sovRpc(x uint64) (n int) {
1882	return (math_bits.Len64(x|1) + 6) / 7
1883}
1884func sozRpc(x uint64) (n int) {
1885	return sovRpc(uint64((x << 1) ^ uint64((int64(x) >> 63))))
1886}
1887func (m *WriteResponse) Unmarshal(dAtA []byte) error {
1888	l := len(dAtA)
1889	iNdEx := 0
1890	for iNdEx < l {
1891		preIndex := iNdEx
1892		var wire uint64
1893		for shift := uint(0); ; shift += 7 {
1894			if shift >= 64 {
1895				return ErrIntOverflowRpc
1896			}
1897			if iNdEx >= l {
1898				return io.ErrUnexpectedEOF
1899			}
1900			b := dAtA[iNdEx]
1901			iNdEx++
1902			wire |= uint64(b&0x7F) << shift
1903			if b < 0x80 {
1904				break
1905			}
1906		}
1907		fieldNum := int32(wire >> 3)
1908		wireType := int(wire & 0x7)
1909		if wireType == 4 {
1910			return fmt.Errorf("proto: WriteResponse: wiretype end group for non-group")
1911		}
1912		if fieldNum <= 0 {
1913			return fmt.Errorf("proto: WriteResponse: illegal tag %d (wire type %d)", fieldNum, wire)
1914		}
1915		switch fieldNum {
1916		default:
1917			iNdEx = preIndex
1918			skippy, err := skipRpc(dAtA[iNdEx:])
1919			if err != nil {
1920				return err
1921			}
1922			if (skippy < 0) || (iNdEx+skippy) < 0 {
1923				return ErrInvalidLengthRpc
1924			}
1925			if (iNdEx + skippy) > l {
1926				return io.ErrUnexpectedEOF
1927			}
1928			iNdEx += skippy
1929		}
1930	}
1931
1932	if iNdEx > l {
1933		return io.ErrUnexpectedEOF
1934	}
1935	return nil
1936}
1937func (m *WriteRequest) Unmarshal(dAtA []byte) error {
1938	l := len(dAtA)
1939	iNdEx := 0
1940	for iNdEx < l {
1941		preIndex := iNdEx
1942		var wire uint64
1943		for shift := uint(0); ; shift += 7 {
1944			if shift >= 64 {
1945				return ErrIntOverflowRpc
1946			}
1947			if iNdEx >= l {
1948				return io.ErrUnexpectedEOF
1949			}
1950			b := dAtA[iNdEx]
1951			iNdEx++
1952			wire |= uint64(b&0x7F) << shift
1953			if b < 0x80 {
1954				break
1955			}
1956		}
1957		fieldNum := int32(wire >> 3)
1958		wireType := int(wire & 0x7)
1959		if wireType == 4 {
1960			return fmt.Errorf("proto: WriteRequest: wiretype end group for non-group")
1961		}
1962		if fieldNum <= 0 {
1963			return fmt.Errorf("proto: WriteRequest: illegal tag %d (wire type %d)", fieldNum, wire)
1964		}
1965		switch fieldNum {
1966		case 1:
1967			if wireType != 2 {
1968				return fmt.Errorf("proto: wrong wireType = %d for field Timeseries", wireType)
1969			}
1970			var msglen int
1971			for shift := uint(0); ; shift += 7 {
1972				if shift >= 64 {
1973					return ErrIntOverflowRpc
1974				}
1975				if iNdEx >= l {
1976					return io.ErrUnexpectedEOF
1977				}
1978				b := dAtA[iNdEx]
1979				iNdEx++
1980				msglen |= int(b&0x7F) << shift
1981				if b < 0x80 {
1982					break
1983				}
1984			}
1985			if msglen < 0 {
1986				return ErrInvalidLengthRpc
1987			}
1988			postIndex := iNdEx + msglen
1989			if postIndex < 0 {
1990				return ErrInvalidLengthRpc
1991			}
1992			if postIndex > l {
1993				return io.ErrUnexpectedEOF
1994			}
1995			m.Timeseries = append(m.Timeseries, prompb.TimeSeries{})
1996			if err := m.Timeseries[len(m.Timeseries)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
1997				return err
1998			}
1999			iNdEx = postIndex
2000		case 2:
2001			if wireType != 2 {
2002				return fmt.Errorf("proto: wrong wireType = %d for field Tenant", wireType)
2003			}
2004			var stringLen uint64
2005			for shift := uint(0); ; shift += 7 {
2006				if shift >= 64 {
2007					return ErrIntOverflowRpc
2008				}
2009				if iNdEx >= l {
2010					return io.ErrUnexpectedEOF
2011				}
2012				b := dAtA[iNdEx]
2013				iNdEx++
2014				stringLen |= uint64(b&0x7F) << shift
2015				if b < 0x80 {
2016					break
2017				}
2018			}
2019			intStringLen := int(stringLen)
2020			if intStringLen < 0 {
2021				return ErrInvalidLengthRpc
2022			}
2023			postIndex := iNdEx + intStringLen
2024			if postIndex < 0 {
2025				return ErrInvalidLengthRpc
2026			}
2027			if postIndex > l {
2028				return io.ErrUnexpectedEOF
2029			}
2030			m.Tenant = string(dAtA[iNdEx:postIndex])
2031			iNdEx = postIndex
2032		case 3:
2033			if wireType != 0 {
2034				return fmt.Errorf("proto: wrong wireType = %d for field Replica", wireType)
2035			}
2036			m.Replica = 0
2037			for shift := uint(0); ; shift += 7 {
2038				if shift >= 64 {
2039					return ErrIntOverflowRpc
2040				}
2041				if iNdEx >= l {
2042					return io.ErrUnexpectedEOF
2043				}
2044				b := dAtA[iNdEx]
2045				iNdEx++
2046				m.Replica |= int64(b&0x7F) << shift
2047				if b < 0x80 {
2048					break
2049				}
2050			}
2051		default:
2052			iNdEx = preIndex
2053			skippy, err := skipRpc(dAtA[iNdEx:])
2054			if err != nil {
2055				return err
2056			}
2057			if (skippy < 0) || (iNdEx+skippy) < 0 {
2058				return ErrInvalidLengthRpc
2059			}
2060			if (iNdEx + skippy) > l {
2061				return io.ErrUnexpectedEOF
2062			}
2063			iNdEx += skippy
2064		}
2065	}
2066
2067	if iNdEx > l {
2068		return io.ErrUnexpectedEOF
2069	}
2070	return nil
2071}
2072func (m *InfoRequest) Unmarshal(dAtA []byte) error {
2073	l := len(dAtA)
2074	iNdEx := 0
2075	for iNdEx < l {
2076		preIndex := iNdEx
2077		var wire uint64
2078		for shift := uint(0); ; shift += 7 {
2079			if shift >= 64 {
2080				return ErrIntOverflowRpc
2081			}
2082			if iNdEx >= l {
2083				return io.ErrUnexpectedEOF
2084			}
2085			b := dAtA[iNdEx]
2086			iNdEx++
2087			wire |= uint64(b&0x7F) << shift
2088			if b < 0x80 {
2089				break
2090			}
2091		}
2092		fieldNum := int32(wire >> 3)
2093		wireType := int(wire & 0x7)
2094		if wireType == 4 {
2095			return fmt.Errorf("proto: InfoRequest: wiretype end group for non-group")
2096		}
2097		if fieldNum <= 0 {
2098			return fmt.Errorf("proto: InfoRequest: illegal tag %d (wire type %d)", fieldNum, wire)
2099		}
2100		switch fieldNum {
2101		default:
2102			iNdEx = preIndex
2103			skippy, err := skipRpc(dAtA[iNdEx:])
2104			if err != nil {
2105				return err
2106			}
2107			if (skippy < 0) || (iNdEx+skippy) < 0 {
2108				return ErrInvalidLengthRpc
2109			}
2110			if (iNdEx + skippy) > l {
2111				return io.ErrUnexpectedEOF
2112			}
2113			iNdEx += skippy
2114		}
2115	}
2116
2117	if iNdEx > l {
2118		return io.ErrUnexpectedEOF
2119	}
2120	return nil
2121}
2122func (m *InfoResponse) Unmarshal(dAtA []byte) error {
2123	l := len(dAtA)
2124	iNdEx := 0
2125	for iNdEx < l {
2126		preIndex := iNdEx
2127		var wire uint64
2128		for shift := uint(0); ; shift += 7 {
2129			if shift >= 64 {
2130				return ErrIntOverflowRpc
2131			}
2132			if iNdEx >= l {
2133				return io.ErrUnexpectedEOF
2134			}
2135			b := dAtA[iNdEx]
2136			iNdEx++
2137			wire |= uint64(b&0x7F) << shift
2138			if b < 0x80 {
2139				break
2140			}
2141		}
2142		fieldNum := int32(wire >> 3)
2143		wireType := int(wire & 0x7)
2144		if wireType == 4 {
2145			return fmt.Errorf("proto: InfoResponse: wiretype end group for non-group")
2146		}
2147		if fieldNum <= 0 {
2148			return fmt.Errorf("proto: InfoResponse: illegal tag %d (wire type %d)", fieldNum, wire)
2149		}
2150		switch fieldNum {
2151		case 1:
2152			if wireType != 2 {
2153				return fmt.Errorf("proto: wrong wireType = %d for field Labels", wireType)
2154			}
2155			var msglen int
2156			for shift := uint(0); ; shift += 7 {
2157				if shift >= 64 {
2158					return ErrIntOverflowRpc
2159				}
2160				if iNdEx >= l {
2161					return io.ErrUnexpectedEOF
2162				}
2163				b := dAtA[iNdEx]
2164				iNdEx++
2165				msglen |= int(b&0x7F) << shift
2166				if b < 0x80 {
2167					break
2168				}
2169			}
2170			if msglen < 0 {
2171				return ErrInvalidLengthRpc
2172			}
2173			postIndex := iNdEx + msglen
2174			if postIndex < 0 {
2175				return ErrInvalidLengthRpc
2176			}
2177			if postIndex > l {
2178				return io.ErrUnexpectedEOF
2179			}
2180			m.Labels = append(m.Labels, github_com_thanos_io_thanos_pkg_store_labelpb.ZLabel{})
2181			if err := m.Labels[len(m.Labels)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
2182				return err
2183			}
2184			iNdEx = postIndex
2185		case 2:
2186			if wireType != 0 {
2187				return fmt.Errorf("proto: wrong wireType = %d for field MinTime", wireType)
2188			}
2189			m.MinTime = 0
2190			for shift := uint(0); ; shift += 7 {
2191				if shift >= 64 {
2192					return ErrIntOverflowRpc
2193				}
2194				if iNdEx >= l {
2195					return io.ErrUnexpectedEOF
2196				}
2197				b := dAtA[iNdEx]
2198				iNdEx++
2199				m.MinTime |= int64(b&0x7F) << shift
2200				if b < 0x80 {
2201					break
2202				}
2203			}
2204		case 3:
2205			if wireType != 0 {
2206				return fmt.Errorf("proto: wrong wireType = %d for field MaxTime", wireType)
2207			}
2208			m.MaxTime = 0
2209			for shift := uint(0); ; shift += 7 {
2210				if shift >= 64 {
2211					return ErrIntOverflowRpc
2212				}
2213				if iNdEx >= l {
2214					return io.ErrUnexpectedEOF
2215				}
2216				b := dAtA[iNdEx]
2217				iNdEx++
2218				m.MaxTime |= int64(b&0x7F) << shift
2219				if b < 0x80 {
2220					break
2221				}
2222			}
2223		case 4:
2224			if wireType != 0 {
2225				return fmt.Errorf("proto: wrong wireType = %d for field StoreType", wireType)
2226			}
2227			m.StoreType = 0
2228			for shift := uint(0); ; shift += 7 {
2229				if shift >= 64 {
2230					return ErrIntOverflowRpc
2231				}
2232				if iNdEx >= l {
2233					return io.ErrUnexpectedEOF
2234				}
2235				b := dAtA[iNdEx]
2236				iNdEx++
2237				m.StoreType |= StoreType(b&0x7F) << shift
2238				if b < 0x80 {
2239					break
2240				}
2241			}
2242		case 5:
2243			if wireType != 2 {
2244				return fmt.Errorf("proto: wrong wireType = %d for field LabelSets", wireType)
2245			}
2246			var msglen int
2247			for shift := uint(0); ; shift += 7 {
2248				if shift >= 64 {
2249					return ErrIntOverflowRpc
2250				}
2251				if iNdEx >= l {
2252					return io.ErrUnexpectedEOF
2253				}
2254				b := dAtA[iNdEx]
2255				iNdEx++
2256				msglen |= int(b&0x7F) << shift
2257				if b < 0x80 {
2258					break
2259				}
2260			}
2261			if msglen < 0 {
2262				return ErrInvalidLengthRpc
2263			}
2264			postIndex := iNdEx + msglen
2265			if postIndex < 0 {
2266				return ErrInvalidLengthRpc
2267			}
2268			if postIndex > l {
2269				return io.ErrUnexpectedEOF
2270			}
2271			m.LabelSets = append(m.LabelSets, labelpb.ZLabelSet{})
2272			if err := m.LabelSets[len(m.LabelSets)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
2273				return err
2274			}
2275			iNdEx = postIndex
2276		default:
2277			iNdEx = preIndex
2278			skippy, err := skipRpc(dAtA[iNdEx:])
2279			if err != nil {
2280				return err
2281			}
2282			if (skippy < 0) || (iNdEx+skippy) < 0 {
2283				return ErrInvalidLengthRpc
2284			}
2285			if (iNdEx + skippy) > l {
2286				return io.ErrUnexpectedEOF
2287			}
2288			iNdEx += skippy
2289		}
2290	}
2291
2292	if iNdEx > l {
2293		return io.ErrUnexpectedEOF
2294	}
2295	return nil
2296}
2297func (m *SeriesRequest) Unmarshal(dAtA []byte) error {
2298	l := len(dAtA)
2299	iNdEx := 0
2300	for iNdEx < l {
2301		preIndex := iNdEx
2302		var wire uint64
2303		for shift := uint(0); ; shift += 7 {
2304			if shift >= 64 {
2305				return ErrIntOverflowRpc
2306			}
2307			if iNdEx >= l {
2308				return io.ErrUnexpectedEOF
2309			}
2310			b := dAtA[iNdEx]
2311			iNdEx++
2312			wire |= uint64(b&0x7F) << shift
2313			if b < 0x80 {
2314				break
2315			}
2316		}
2317		fieldNum := int32(wire >> 3)
2318		wireType := int(wire & 0x7)
2319		if wireType == 4 {
2320			return fmt.Errorf("proto: SeriesRequest: wiretype end group for non-group")
2321		}
2322		if fieldNum <= 0 {
2323			return fmt.Errorf("proto: SeriesRequest: illegal tag %d (wire type %d)", fieldNum, wire)
2324		}
2325		switch fieldNum {
2326		case 1:
2327			if wireType != 0 {
2328				return fmt.Errorf("proto: wrong wireType = %d for field MinTime", wireType)
2329			}
2330			m.MinTime = 0
2331			for shift := uint(0); ; shift += 7 {
2332				if shift >= 64 {
2333					return ErrIntOverflowRpc
2334				}
2335				if iNdEx >= l {
2336					return io.ErrUnexpectedEOF
2337				}
2338				b := dAtA[iNdEx]
2339				iNdEx++
2340				m.MinTime |= int64(b&0x7F) << shift
2341				if b < 0x80 {
2342					break
2343				}
2344			}
2345		case 2:
2346			if wireType != 0 {
2347				return fmt.Errorf("proto: wrong wireType = %d for field MaxTime", wireType)
2348			}
2349			m.MaxTime = 0
2350			for shift := uint(0); ; shift += 7 {
2351				if shift >= 64 {
2352					return ErrIntOverflowRpc
2353				}
2354				if iNdEx >= l {
2355					return io.ErrUnexpectedEOF
2356				}
2357				b := dAtA[iNdEx]
2358				iNdEx++
2359				m.MaxTime |= int64(b&0x7F) << shift
2360				if b < 0x80 {
2361					break
2362				}
2363			}
2364		case 3:
2365			if wireType != 2 {
2366				return fmt.Errorf("proto: wrong wireType = %d for field Matchers", wireType)
2367			}
2368			var msglen int
2369			for shift := uint(0); ; shift += 7 {
2370				if shift >= 64 {
2371					return ErrIntOverflowRpc
2372				}
2373				if iNdEx >= l {
2374					return io.ErrUnexpectedEOF
2375				}
2376				b := dAtA[iNdEx]
2377				iNdEx++
2378				msglen |= int(b&0x7F) << shift
2379				if b < 0x80 {
2380					break
2381				}
2382			}
2383			if msglen < 0 {
2384				return ErrInvalidLengthRpc
2385			}
2386			postIndex := iNdEx + msglen
2387			if postIndex < 0 {
2388				return ErrInvalidLengthRpc
2389			}
2390			if postIndex > l {
2391				return io.ErrUnexpectedEOF
2392			}
2393			m.Matchers = append(m.Matchers, LabelMatcher{})
2394			if err := m.Matchers[len(m.Matchers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
2395				return err
2396			}
2397			iNdEx = postIndex
2398		case 4:
2399			if wireType != 0 {
2400				return fmt.Errorf("proto: wrong wireType = %d for field MaxResolutionWindow", wireType)
2401			}
2402			m.MaxResolutionWindow = 0
2403			for shift := uint(0); ; shift += 7 {
2404				if shift >= 64 {
2405					return ErrIntOverflowRpc
2406				}
2407				if iNdEx >= l {
2408					return io.ErrUnexpectedEOF
2409				}
2410				b := dAtA[iNdEx]
2411				iNdEx++
2412				m.MaxResolutionWindow |= int64(b&0x7F) << shift
2413				if b < 0x80 {
2414					break
2415				}
2416			}
2417		case 5:
2418			if wireType == 0 {
2419				var v Aggr
2420				for shift := uint(0); ; shift += 7 {
2421					if shift >= 64 {
2422						return ErrIntOverflowRpc
2423					}
2424					if iNdEx >= l {
2425						return io.ErrUnexpectedEOF
2426					}
2427					b := dAtA[iNdEx]
2428					iNdEx++
2429					v |= Aggr(b&0x7F) << shift
2430					if b < 0x80 {
2431						break
2432					}
2433				}
2434				m.Aggregates = append(m.Aggregates, v)
2435			} else if wireType == 2 {
2436				var packedLen int
2437				for shift := uint(0); ; shift += 7 {
2438					if shift >= 64 {
2439						return ErrIntOverflowRpc
2440					}
2441					if iNdEx >= l {
2442						return io.ErrUnexpectedEOF
2443					}
2444					b := dAtA[iNdEx]
2445					iNdEx++
2446					packedLen |= int(b&0x7F) << shift
2447					if b < 0x80 {
2448						break
2449					}
2450				}
2451				if packedLen < 0 {
2452					return ErrInvalidLengthRpc
2453				}
2454				postIndex := iNdEx + packedLen
2455				if postIndex < 0 {
2456					return ErrInvalidLengthRpc
2457				}
2458				if postIndex > l {
2459					return io.ErrUnexpectedEOF
2460				}
2461				var elementCount int
2462				if elementCount != 0 && len(m.Aggregates) == 0 {
2463					m.Aggregates = make([]Aggr, 0, elementCount)
2464				}
2465				for iNdEx < postIndex {
2466					var v Aggr
2467					for shift := uint(0); ; shift += 7 {
2468						if shift >= 64 {
2469							return ErrIntOverflowRpc
2470						}
2471						if iNdEx >= l {
2472							return io.ErrUnexpectedEOF
2473						}
2474						b := dAtA[iNdEx]
2475						iNdEx++
2476						v |= Aggr(b&0x7F) << shift
2477						if b < 0x80 {
2478							break
2479						}
2480					}
2481					m.Aggregates = append(m.Aggregates, v)
2482				}
2483			} else {
2484				return fmt.Errorf("proto: wrong wireType = %d for field Aggregates", wireType)
2485			}
2486		case 6:
2487			if wireType != 0 {
2488				return fmt.Errorf("proto: wrong wireType = %d for field PartialResponseDisabled", wireType)
2489			}
2490			var v int
2491			for shift := uint(0); ; shift += 7 {
2492				if shift >= 64 {
2493					return ErrIntOverflowRpc
2494				}
2495				if iNdEx >= l {
2496					return io.ErrUnexpectedEOF
2497				}
2498				b := dAtA[iNdEx]
2499				iNdEx++
2500				v |= int(b&0x7F) << shift
2501				if b < 0x80 {
2502					break
2503				}
2504			}
2505			m.PartialResponseDisabled = bool(v != 0)
2506		case 7:
2507			if wireType != 0 {
2508				return fmt.Errorf("proto: wrong wireType = %d for field PartialResponseStrategy", wireType)
2509			}
2510			m.PartialResponseStrategy = 0
2511			for shift := uint(0); ; shift += 7 {
2512				if shift >= 64 {
2513					return ErrIntOverflowRpc
2514				}
2515				if iNdEx >= l {
2516					return io.ErrUnexpectedEOF
2517				}
2518				b := dAtA[iNdEx]
2519				iNdEx++
2520				m.PartialResponseStrategy |= PartialResponseStrategy(b&0x7F) << shift
2521				if b < 0x80 {
2522					break
2523				}
2524			}
2525		case 8:
2526			if wireType != 0 {
2527				return fmt.Errorf("proto: wrong wireType = %d for field SkipChunks", wireType)
2528			}
2529			var v int
2530			for shift := uint(0); ; shift += 7 {
2531				if shift >= 64 {
2532					return ErrIntOverflowRpc
2533				}
2534				if iNdEx >= l {
2535					return io.ErrUnexpectedEOF
2536				}
2537				b := dAtA[iNdEx]
2538				iNdEx++
2539				v |= int(b&0x7F) << shift
2540				if b < 0x80 {
2541					break
2542				}
2543			}
2544			m.SkipChunks = bool(v != 0)
2545		case 9:
2546			if wireType != 2 {
2547				return fmt.Errorf("proto: wrong wireType = %d for field Hints", wireType)
2548			}
2549			var msglen int
2550			for shift := uint(0); ; shift += 7 {
2551				if shift >= 64 {
2552					return ErrIntOverflowRpc
2553				}
2554				if iNdEx >= l {
2555					return io.ErrUnexpectedEOF
2556				}
2557				b := dAtA[iNdEx]
2558				iNdEx++
2559				msglen |= int(b&0x7F) << shift
2560				if b < 0x80 {
2561					break
2562				}
2563			}
2564			if msglen < 0 {
2565				return ErrInvalidLengthRpc
2566			}
2567			postIndex := iNdEx + msglen
2568			if postIndex < 0 {
2569				return ErrInvalidLengthRpc
2570			}
2571			if postIndex > l {
2572				return io.ErrUnexpectedEOF
2573			}
2574			if m.Hints == nil {
2575				m.Hints = &types.Any{}
2576			}
2577			if err := m.Hints.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
2578				return err
2579			}
2580			iNdEx = postIndex
2581		default:
2582			iNdEx = preIndex
2583			skippy, err := skipRpc(dAtA[iNdEx:])
2584			if err != nil {
2585				return err
2586			}
2587			if (skippy < 0) || (iNdEx+skippy) < 0 {
2588				return ErrInvalidLengthRpc
2589			}
2590			if (iNdEx + skippy) > l {
2591				return io.ErrUnexpectedEOF
2592			}
2593			iNdEx += skippy
2594		}
2595	}
2596
2597	if iNdEx > l {
2598		return io.ErrUnexpectedEOF
2599	}
2600	return nil
2601}
2602func (m *SeriesResponse) Unmarshal(dAtA []byte) error {
2603	l := len(dAtA)
2604	iNdEx := 0
2605	for iNdEx < l {
2606		preIndex := iNdEx
2607		var wire uint64
2608		for shift := uint(0); ; shift += 7 {
2609			if shift >= 64 {
2610				return ErrIntOverflowRpc
2611			}
2612			if iNdEx >= l {
2613				return io.ErrUnexpectedEOF
2614			}
2615			b := dAtA[iNdEx]
2616			iNdEx++
2617			wire |= uint64(b&0x7F) << shift
2618			if b < 0x80 {
2619				break
2620			}
2621		}
2622		fieldNum := int32(wire >> 3)
2623		wireType := int(wire & 0x7)
2624		if wireType == 4 {
2625			return fmt.Errorf("proto: SeriesResponse: wiretype end group for non-group")
2626		}
2627		if fieldNum <= 0 {
2628			return fmt.Errorf("proto: SeriesResponse: illegal tag %d (wire type %d)", fieldNum, wire)
2629		}
2630		switch fieldNum {
2631		case 1:
2632			if wireType != 2 {
2633				return fmt.Errorf("proto: wrong wireType = %d for field Series", wireType)
2634			}
2635			var msglen int
2636			for shift := uint(0); ; shift += 7 {
2637				if shift >= 64 {
2638					return ErrIntOverflowRpc
2639				}
2640				if iNdEx >= l {
2641					return io.ErrUnexpectedEOF
2642				}
2643				b := dAtA[iNdEx]
2644				iNdEx++
2645				msglen |= int(b&0x7F) << shift
2646				if b < 0x80 {
2647					break
2648				}
2649			}
2650			if msglen < 0 {
2651				return ErrInvalidLengthRpc
2652			}
2653			postIndex := iNdEx + msglen
2654			if postIndex < 0 {
2655				return ErrInvalidLengthRpc
2656			}
2657			if postIndex > l {
2658				return io.ErrUnexpectedEOF
2659			}
2660			v := &Series{}
2661			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
2662				return err
2663			}
2664			m.Result = &SeriesResponse_Series{v}
2665			iNdEx = postIndex
2666		case 2:
2667			if wireType != 2 {
2668				return fmt.Errorf("proto: wrong wireType = %d for field Warning", wireType)
2669			}
2670			var stringLen uint64
2671			for shift := uint(0); ; shift += 7 {
2672				if shift >= 64 {
2673					return ErrIntOverflowRpc
2674				}
2675				if iNdEx >= l {
2676					return io.ErrUnexpectedEOF
2677				}
2678				b := dAtA[iNdEx]
2679				iNdEx++
2680				stringLen |= uint64(b&0x7F) << shift
2681				if b < 0x80 {
2682					break
2683				}
2684			}
2685			intStringLen := int(stringLen)
2686			if intStringLen < 0 {
2687				return ErrInvalidLengthRpc
2688			}
2689			postIndex := iNdEx + intStringLen
2690			if postIndex < 0 {
2691				return ErrInvalidLengthRpc
2692			}
2693			if postIndex > l {
2694				return io.ErrUnexpectedEOF
2695			}
2696			m.Result = &SeriesResponse_Warning{string(dAtA[iNdEx:postIndex])}
2697			iNdEx = postIndex
2698		case 3:
2699			if wireType != 2 {
2700				return fmt.Errorf("proto: wrong wireType = %d for field Hints", wireType)
2701			}
2702			var msglen int
2703			for shift := uint(0); ; shift += 7 {
2704				if shift >= 64 {
2705					return ErrIntOverflowRpc
2706				}
2707				if iNdEx >= l {
2708					return io.ErrUnexpectedEOF
2709				}
2710				b := dAtA[iNdEx]
2711				iNdEx++
2712				msglen |= int(b&0x7F) << shift
2713				if b < 0x80 {
2714					break
2715				}
2716			}
2717			if msglen < 0 {
2718				return ErrInvalidLengthRpc
2719			}
2720			postIndex := iNdEx + msglen
2721			if postIndex < 0 {
2722				return ErrInvalidLengthRpc
2723			}
2724			if postIndex > l {
2725				return io.ErrUnexpectedEOF
2726			}
2727			v := &types.Any{}
2728			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
2729				return err
2730			}
2731			m.Result = &SeriesResponse_Hints{v}
2732			iNdEx = postIndex
2733		default:
2734			iNdEx = preIndex
2735			skippy, err := skipRpc(dAtA[iNdEx:])
2736			if err != nil {
2737				return err
2738			}
2739			if (skippy < 0) || (iNdEx+skippy) < 0 {
2740				return ErrInvalidLengthRpc
2741			}
2742			if (iNdEx + skippy) > l {
2743				return io.ErrUnexpectedEOF
2744			}
2745			iNdEx += skippy
2746		}
2747	}
2748
2749	if iNdEx > l {
2750		return io.ErrUnexpectedEOF
2751	}
2752	return nil
2753}
2754func (m *LabelNamesRequest) Unmarshal(dAtA []byte) error {
2755	l := len(dAtA)
2756	iNdEx := 0
2757	for iNdEx < l {
2758		preIndex := iNdEx
2759		var wire uint64
2760		for shift := uint(0); ; shift += 7 {
2761			if shift >= 64 {
2762				return ErrIntOverflowRpc
2763			}
2764			if iNdEx >= l {
2765				return io.ErrUnexpectedEOF
2766			}
2767			b := dAtA[iNdEx]
2768			iNdEx++
2769			wire |= uint64(b&0x7F) << shift
2770			if b < 0x80 {
2771				break
2772			}
2773		}
2774		fieldNum := int32(wire >> 3)
2775		wireType := int(wire & 0x7)
2776		if wireType == 4 {
2777			return fmt.Errorf("proto: LabelNamesRequest: wiretype end group for non-group")
2778		}
2779		if fieldNum <= 0 {
2780			return fmt.Errorf("proto: LabelNamesRequest: illegal tag %d (wire type %d)", fieldNum, wire)
2781		}
2782		switch fieldNum {
2783		case 1:
2784			if wireType != 0 {
2785				return fmt.Errorf("proto: wrong wireType = %d for field PartialResponseDisabled", wireType)
2786			}
2787			var v int
2788			for shift := uint(0); ; shift += 7 {
2789				if shift >= 64 {
2790					return ErrIntOverflowRpc
2791				}
2792				if iNdEx >= l {
2793					return io.ErrUnexpectedEOF
2794				}
2795				b := dAtA[iNdEx]
2796				iNdEx++
2797				v |= int(b&0x7F) << shift
2798				if b < 0x80 {
2799					break
2800				}
2801			}
2802			m.PartialResponseDisabled = bool(v != 0)
2803		case 2:
2804			if wireType != 0 {
2805				return fmt.Errorf("proto: wrong wireType = %d for field PartialResponseStrategy", wireType)
2806			}
2807			m.PartialResponseStrategy = 0
2808			for shift := uint(0); ; shift += 7 {
2809				if shift >= 64 {
2810					return ErrIntOverflowRpc
2811				}
2812				if iNdEx >= l {
2813					return io.ErrUnexpectedEOF
2814				}
2815				b := dAtA[iNdEx]
2816				iNdEx++
2817				m.PartialResponseStrategy |= PartialResponseStrategy(b&0x7F) << shift
2818				if b < 0x80 {
2819					break
2820				}
2821			}
2822		case 3:
2823			if wireType != 0 {
2824				return fmt.Errorf("proto: wrong wireType = %d for field Start", wireType)
2825			}
2826			m.Start = 0
2827			for shift := uint(0); ; shift += 7 {
2828				if shift >= 64 {
2829					return ErrIntOverflowRpc
2830				}
2831				if iNdEx >= l {
2832					return io.ErrUnexpectedEOF
2833				}
2834				b := dAtA[iNdEx]
2835				iNdEx++
2836				m.Start |= int64(b&0x7F) << shift
2837				if b < 0x80 {
2838					break
2839				}
2840			}
2841		case 4:
2842			if wireType != 0 {
2843				return fmt.Errorf("proto: wrong wireType = %d for field End", wireType)
2844			}
2845			m.End = 0
2846			for shift := uint(0); ; shift += 7 {
2847				if shift >= 64 {
2848					return ErrIntOverflowRpc
2849				}
2850				if iNdEx >= l {
2851					return io.ErrUnexpectedEOF
2852				}
2853				b := dAtA[iNdEx]
2854				iNdEx++
2855				m.End |= int64(b&0x7F) << shift
2856				if b < 0x80 {
2857					break
2858				}
2859			}
2860		case 5:
2861			if wireType != 2 {
2862				return fmt.Errorf("proto: wrong wireType = %d for field Hints", wireType)
2863			}
2864			var msglen int
2865			for shift := uint(0); ; shift += 7 {
2866				if shift >= 64 {
2867					return ErrIntOverflowRpc
2868				}
2869				if iNdEx >= l {
2870					return io.ErrUnexpectedEOF
2871				}
2872				b := dAtA[iNdEx]
2873				iNdEx++
2874				msglen |= int(b&0x7F) << shift
2875				if b < 0x80 {
2876					break
2877				}
2878			}
2879			if msglen < 0 {
2880				return ErrInvalidLengthRpc
2881			}
2882			postIndex := iNdEx + msglen
2883			if postIndex < 0 {
2884				return ErrInvalidLengthRpc
2885			}
2886			if postIndex > l {
2887				return io.ErrUnexpectedEOF
2888			}
2889			if m.Hints == nil {
2890				m.Hints = &types.Any{}
2891			}
2892			if err := m.Hints.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
2893				return err
2894			}
2895			iNdEx = postIndex
2896		default:
2897			iNdEx = preIndex
2898			skippy, err := skipRpc(dAtA[iNdEx:])
2899			if err != nil {
2900				return err
2901			}
2902			if (skippy < 0) || (iNdEx+skippy) < 0 {
2903				return ErrInvalidLengthRpc
2904			}
2905			if (iNdEx + skippy) > l {
2906				return io.ErrUnexpectedEOF
2907			}
2908			iNdEx += skippy
2909		}
2910	}
2911
2912	if iNdEx > l {
2913		return io.ErrUnexpectedEOF
2914	}
2915	return nil
2916}
2917func (m *LabelNamesResponse) Unmarshal(dAtA []byte) error {
2918	l := len(dAtA)
2919	iNdEx := 0
2920	for iNdEx < l {
2921		preIndex := iNdEx
2922		var wire uint64
2923		for shift := uint(0); ; shift += 7 {
2924			if shift >= 64 {
2925				return ErrIntOverflowRpc
2926			}
2927			if iNdEx >= l {
2928				return io.ErrUnexpectedEOF
2929			}
2930			b := dAtA[iNdEx]
2931			iNdEx++
2932			wire |= uint64(b&0x7F) << shift
2933			if b < 0x80 {
2934				break
2935			}
2936		}
2937		fieldNum := int32(wire >> 3)
2938		wireType := int(wire & 0x7)
2939		if wireType == 4 {
2940			return fmt.Errorf("proto: LabelNamesResponse: wiretype end group for non-group")
2941		}
2942		if fieldNum <= 0 {
2943			return fmt.Errorf("proto: LabelNamesResponse: illegal tag %d (wire type %d)", fieldNum, wire)
2944		}
2945		switch fieldNum {
2946		case 1:
2947			if wireType != 2 {
2948				return fmt.Errorf("proto: wrong wireType = %d for field Names", wireType)
2949			}
2950			var stringLen uint64
2951			for shift := uint(0); ; shift += 7 {
2952				if shift >= 64 {
2953					return ErrIntOverflowRpc
2954				}
2955				if iNdEx >= l {
2956					return io.ErrUnexpectedEOF
2957				}
2958				b := dAtA[iNdEx]
2959				iNdEx++
2960				stringLen |= uint64(b&0x7F) << shift
2961				if b < 0x80 {
2962					break
2963				}
2964			}
2965			intStringLen := int(stringLen)
2966			if intStringLen < 0 {
2967				return ErrInvalidLengthRpc
2968			}
2969			postIndex := iNdEx + intStringLen
2970			if postIndex < 0 {
2971				return ErrInvalidLengthRpc
2972			}
2973			if postIndex > l {
2974				return io.ErrUnexpectedEOF
2975			}
2976			m.Names = append(m.Names, string(dAtA[iNdEx:postIndex]))
2977			iNdEx = postIndex
2978		case 2:
2979			if wireType != 2 {
2980				return fmt.Errorf("proto: wrong wireType = %d for field Warnings", wireType)
2981			}
2982			var stringLen uint64
2983			for shift := uint(0); ; shift += 7 {
2984				if shift >= 64 {
2985					return ErrIntOverflowRpc
2986				}
2987				if iNdEx >= l {
2988					return io.ErrUnexpectedEOF
2989				}
2990				b := dAtA[iNdEx]
2991				iNdEx++
2992				stringLen |= uint64(b&0x7F) << shift
2993				if b < 0x80 {
2994					break
2995				}
2996			}
2997			intStringLen := int(stringLen)
2998			if intStringLen < 0 {
2999				return ErrInvalidLengthRpc
3000			}
3001			postIndex := iNdEx + intStringLen
3002			if postIndex < 0 {
3003				return ErrInvalidLengthRpc
3004			}
3005			if postIndex > l {
3006				return io.ErrUnexpectedEOF
3007			}
3008			m.Warnings = append(m.Warnings, string(dAtA[iNdEx:postIndex]))
3009			iNdEx = postIndex
3010		case 3:
3011			if wireType != 2 {
3012				return fmt.Errorf("proto: wrong wireType = %d for field Hints", wireType)
3013			}
3014			var msglen int
3015			for shift := uint(0); ; shift += 7 {
3016				if shift >= 64 {
3017					return ErrIntOverflowRpc
3018				}
3019				if iNdEx >= l {
3020					return io.ErrUnexpectedEOF
3021				}
3022				b := dAtA[iNdEx]
3023				iNdEx++
3024				msglen |= int(b&0x7F) << shift
3025				if b < 0x80 {
3026					break
3027				}
3028			}
3029			if msglen < 0 {
3030				return ErrInvalidLengthRpc
3031			}
3032			postIndex := iNdEx + msglen
3033			if postIndex < 0 {
3034				return ErrInvalidLengthRpc
3035			}
3036			if postIndex > l {
3037				return io.ErrUnexpectedEOF
3038			}
3039			if m.Hints == nil {
3040				m.Hints = &types.Any{}
3041			}
3042			if err := m.Hints.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
3043				return err
3044			}
3045			iNdEx = postIndex
3046		default:
3047			iNdEx = preIndex
3048			skippy, err := skipRpc(dAtA[iNdEx:])
3049			if err != nil {
3050				return err
3051			}
3052			if (skippy < 0) || (iNdEx+skippy) < 0 {
3053				return ErrInvalidLengthRpc
3054			}
3055			if (iNdEx + skippy) > l {
3056				return io.ErrUnexpectedEOF
3057			}
3058			iNdEx += skippy
3059		}
3060	}
3061
3062	if iNdEx > l {
3063		return io.ErrUnexpectedEOF
3064	}
3065	return nil
3066}
3067func (m *LabelValuesRequest) Unmarshal(dAtA []byte) error {
3068	l := len(dAtA)
3069	iNdEx := 0
3070	for iNdEx < l {
3071		preIndex := iNdEx
3072		var wire uint64
3073		for shift := uint(0); ; shift += 7 {
3074			if shift >= 64 {
3075				return ErrIntOverflowRpc
3076			}
3077			if iNdEx >= l {
3078				return io.ErrUnexpectedEOF
3079			}
3080			b := dAtA[iNdEx]
3081			iNdEx++
3082			wire |= uint64(b&0x7F) << shift
3083			if b < 0x80 {
3084				break
3085			}
3086		}
3087		fieldNum := int32(wire >> 3)
3088		wireType := int(wire & 0x7)
3089		if wireType == 4 {
3090			return fmt.Errorf("proto: LabelValuesRequest: wiretype end group for non-group")
3091		}
3092		if fieldNum <= 0 {
3093			return fmt.Errorf("proto: LabelValuesRequest: illegal tag %d (wire type %d)", fieldNum, wire)
3094		}
3095		switch fieldNum {
3096		case 1:
3097			if wireType != 2 {
3098				return fmt.Errorf("proto: wrong wireType = %d for field Label", wireType)
3099			}
3100			var stringLen uint64
3101			for shift := uint(0); ; shift += 7 {
3102				if shift >= 64 {
3103					return ErrIntOverflowRpc
3104				}
3105				if iNdEx >= l {
3106					return io.ErrUnexpectedEOF
3107				}
3108				b := dAtA[iNdEx]
3109				iNdEx++
3110				stringLen |= uint64(b&0x7F) << shift
3111				if b < 0x80 {
3112					break
3113				}
3114			}
3115			intStringLen := int(stringLen)
3116			if intStringLen < 0 {
3117				return ErrInvalidLengthRpc
3118			}
3119			postIndex := iNdEx + intStringLen
3120			if postIndex < 0 {
3121				return ErrInvalidLengthRpc
3122			}
3123			if postIndex > l {
3124				return io.ErrUnexpectedEOF
3125			}
3126			m.Label = string(dAtA[iNdEx:postIndex])
3127			iNdEx = postIndex
3128		case 2:
3129			if wireType != 0 {
3130				return fmt.Errorf("proto: wrong wireType = %d for field PartialResponseDisabled", wireType)
3131			}
3132			var v int
3133			for shift := uint(0); ; shift += 7 {
3134				if shift >= 64 {
3135					return ErrIntOverflowRpc
3136				}
3137				if iNdEx >= l {
3138					return io.ErrUnexpectedEOF
3139				}
3140				b := dAtA[iNdEx]
3141				iNdEx++
3142				v |= int(b&0x7F) << shift
3143				if b < 0x80 {
3144					break
3145				}
3146			}
3147			m.PartialResponseDisabled = bool(v != 0)
3148		case 3:
3149			if wireType != 0 {
3150				return fmt.Errorf("proto: wrong wireType = %d for field PartialResponseStrategy", wireType)
3151			}
3152			m.PartialResponseStrategy = 0
3153			for shift := uint(0); ; shift += 7 {
3154				if shift >= 64 {
3155					return ErrIntOverflowRpc
3156				}
3157				if iNdEx >= l {
3158					return io.ErrUnexpectedEOF
3159				}
3160				b := dAtA[iNdEx]
3161				iNdEx++
3162				m.PartialResponseStrategy |= PartialResponseStrategy(b&0x7F) << shift
3163				if b < 0x80 {
3164					break
3165				}
3166			}
3167		case 4:
3168			if wireType != 0 {
3169				return fmt.Errorf("proto: wrong wireType = %d for field Start", wireType)
3170			}
3171			m.Start = 0
3172			for shift := uint(0); ; shift += 7 {
3173				if shift >= 64 {
3174					return ErrIntOverflowRpc
3175				}
3176				if iNdEx >= l {
3177					return io.ErrUnexpectedEOF
3178				}
3179				b := dAtA[iNdEx]
3180				iNdEx++
3181				m.Start |= int64(b&0x7F) << shift
3182				if b < 0x80 {
3183					break
3184				}
3185			}
3186		case 5:
3187			if wireType != 0 {
3188				return fmt.Errorf("proto: wrong wireType = %d for field End", wireType)
3189			}
3190			m.End = 0
3191			for shift := uint(0); ; shift += 7 {
3192				if shift >= 64 {
3193					return ErrIntOverflowRpc
3194				}
3195				if iNdEx >= l {
3196					return io.ErrUnexpectedEOF
3197				}
3198				b := dAtA[iNdEx]
3199				iNdEx++
3200				m.End |= int64(b&0x7F) << shift
3201				if b < 0x80 {
3202					break
3203				}
3204			}
3205		case 6:
3206			if wireType != 2 {
3207				return fmt.Errorf("proto: wrong wireType = %d for field Hints", wireType)
3208			}
3209			var msglen int
3210			for shift := uint(0); ; shift += 7 {
3211				if shift >= 64 {
3212					return ErrIntOverflowRpc
3213				}
3214				if iNdEx >= l {
3215					return io.ErrUnexpectedEOF
3216				}
3217				b := dAtA[iNdEx]
3218				iNdEx++
3219				msglen |= int(b&0x7F) << shift
3220				if b < 0x80 {
3221					break
3222				}
3223			}
3224			if msglen < 0 {
3225				return ErrInvalidLengthRpc
3226			}
3227			postIndex := iNdEx + msglen
3228			if postIndex < 0 {
3229				return ErrInvalidLengthRpc
3230			}
3231			if postIndex > l {
3232				return io.ErrUnexpectedEOF
3233			}
3234			if m.Hints == nil {
3235				m.Hints = &types.Any{}
3236			}
3237			if err := m.Hints.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
3238				return err
3239			}
3240			iNdEx = postIndex
3241		case 7:
3242			if wireType != 2 {
3243				return fmt.Errorf("proto: wrong wireType = %d for field Matchers", wireType)
3244			}
3245			var msglen int
3246			for shift := uint(0); ; shift += 7 {
3247				if shift >= 64 {
3248					return ErrIntOverflowRpc
3249				}
3250				if iNdEx >= l {
3251					return io.ErrUnexpectedEOF
3252				}
3253				b := dAtA[iNdEx]
3254				iNdEx++
3255				msglen |= int(b&0x7F) << shift
3256				if b < 0x80 {
3257					break
3258				}
3259			}
3260			if msglen < 0 {
3261				return ErrInvalidLengthRpc
3262			}
3263			postIndex := iNdEx + msglen
3264			if postIndex < 0 {
3265				return ErrInvalidLengthRpc
3266			}
3267			if postIndex > l {
3268				return io.ErrUnexpectedEOF
3269			}
3270			m.Matchers = append(m.Matchers, LabelMatcher{})
3271			if err := m.Matchers[len(m.Matchers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
3272				return err
3273			}
3274			iNdEx = postIndex
3275		default:
3276			iNdEx = preIndex
3277			skippy, err := skipRpc(dAtA[iNdEx:])
3278			if err != nil {
3279				return err
3280			}
3281			if (skippy < 0) || (iNdEx+skippy) < 0 {
3282				return ErrInvalidLengthRpc
3283			}
3284			if (iNdEx + skippy) > l {
3285				return io.ErrUnexpectedEOF
3286			}
3287			iNdEx += skippy
3288		}
3289	}
3290
3291	if iNdEx > l {
3292		return io.ErrUnexpectedEOF
3293	}
3294	return nil
3295}
3296func (m *LabelValuesResponse) Unmarshal(dAtA []byte) error {
3297	l := len(dAtA)
3298	iNdEx := 0
3299	for iNdEx < l {
3300		preIndex := iNdEx
3301		var wire uint64
3302		for shift := uint(0); ; shift += 7 {
3303			if shift >= 64 {
3304				return ErrIntOverflowRpc
3305			}
3306			if iNdEx >= l {
3307				return io.ErrUnexpectedEOF
3308			}
3309			b := dAtA[iNdEx]
3310			iNdEx++
3311			wire |= uint64(b&0x7F) << shift
3312			if b < 0x80 {
3313				break
3314			}
3315		}
3316		fieldNum := int32(wire >> 3)
3317		wireType := int(wire & 0x7)
3318		if wireType == 4 {
3319			return fmt.Errorf("proto: LabelValuesResponse: wiretype end group for non-group")
3320		}
3321		if fieldNum <= 0 {
3322			return fmt.Errorf("proto: LabelValuesResponse: illegal tag %d (wire type %d)", fieldNum, wire)
3323		}
3324		switch fieldNum {
3325		case 1:
3326			if wireType != 2 {
3327				return fmt.Errorf("proto: wrong wireType = %d for field Values", wireType)
3328			}
3329			var stringLen uint64
3330			for shift := uint(0); ; shift += 7 {
3331				if shift >= 64 {
3332					return ErrIntOverflowRpc
3333				}
3334				if iNdEx >= l {
3335					return io.ErrUnexpectedEOF
3336				}
3337				b := dAtA[iNdEx]
3338				iNdEx++
3339				stringLen |= uint64(b&0x7F) << shift
3340				if b < 0x80 {
3341					break
3342				}
3343			}
3344			intStringLen := int(stringLen)
3345			if intStringLen < 0 {
3346				return ErrInvalidLengthRpc
3347			}
3348			postIndex := iNdEx + intStringLen
3349			if postIndex < 0 {
3350				return ErrInvalidLengthRpc
3351			}
3352			if postIndex > l {
3353				return io.ErrUnexpectedEOF
3354			}
3355			m.Values = append(m.Values, string(dAtA[iNdEx:postIndex]))
3356			iNdEx = postIndex
3357		case 2:
3358			if wireType != 2 {
3359				return fmt.Errorf("proto: wrong wireType = %d for field Warnings", wireType)
3360			}
3361			var stringLen uint64
3362			for shift := uint(0); ; shift += 7 {
3363				if shift >= 64 {
3364					return ErrIntOverflowRpc
3365				}
3366				if iNdEx >= l {
3367					return io.ErrUnexpectedEOF
3368				}
3369				b := dAtA[iNdEx]
3370				iNdEx++
3371				stringLen |= uint64(b&0x7F) << shift
3372				if b < 0x80 {
3373					break
3374				}
3375			}
3376			intStringLen := int(stringLen)
3377			if intStringLen < 0 {
3378				return ErrInvalidLengthRpc
3379			}
3380			postIndex := iNdEx + intStringLen
3381			if postIndex < 0 {
3382				return ErrInvalidLengthRpc
3383			}
3384			if postIndex > l {
3385				return io.ErrUnexpectedEOF
3386			}
3387			m.Warnings = append(m.Warnings, string(dAtA[iNdEx:postIndex]))
3388			iNdEx = postIndex
3389		case 3:
3390			if wireType != 2 {
3391				return fmt.Errorf("proto: wrong wireType = %d for field Hints", wireType)
3392			}
3393			var msglen int
3394			for shift := uint(0); ; shift += 7 {
3395				if shift >= 64 {
3396					return ErrIntOverflowRpc
3397				}
3398				if iNdEx >= l {
3399					return io.ErrUnexpectedEOF
3400				}
3401				b := dAtA[iNdEx]
3402				iNdEx++
3403				msglen |= int(b&0x7F) << shift
3404				if b < 0x80 {
3405					break
3406				}
3407			}
3408			if msglen < 0 {
3409				return ErrInvalidLengthRpc
3410			}
3411			postIndex := iNdEx + msglen
3412			if postIndex < 0 {
3413				return ErrInvalidLengthRpc
3414			}
3415			if postIndex > l {
3416				return io.ErrUnexpectedEOF
3417			}
3418			if m.Hints == nil {
3419				m.Hints = &types.Any{}
3420			}
3421			if err := m.Hints.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
3422				return err
3423			}
3424			iNdEx = postIndex
3425		default:
3426			iNdEx = preIndex
3427			skippy, err := skipRpc(dAtA[iNdEx:])
3428			if err != nil {
3429				return err
3430			}
3431			if (skippy < 0) || (iNdEx+skippy) < 0 {
3432				return ErrInvalidLengthRpc
3433			}
3434			if (iNdEx + skippy) > l {
3435				return io.ErrUnexpectedEOF
3436			}
3437			iNdEx += skippy
3438		}
3439	}
3440
3441	if iNdEx > l {
3442		return io.ErrUnexpectedEOF
3443	}
3444	return nil
3445}
3446func skipRpc(dAtA []byte) (n int, err error) {
3447	l := len(dAtA)
3448	iNdEx := 0
3449	depth := 0
3450	for iNdEx < l {
3451		var wire uint64
3452		for shift := uint(0); ; shift += 7 {
3453			if shift >= 64 {
3454				return 0, ErrIntOverflowRpc
3455			}
3456			if iNdEx >= l {
3457				return 0, io.ErrUnexpectedEOF
3458			}
3459			b := dAtA[iNdEx]
3460			iNdEx++
3461			wire |= (uint64(b) & 0x7F) << shift
3462			if b < 0x80 {
3463				break
3464			}
3465		}
3466		wireType := int(wire & 0x7)
3467		switch wireType {
3468		case 0:
3469			for shift := uint(0); ; shift += 7 {
3470				if shift >= 64 {
3471					return 0, ErrIntOverflowRpc
3472				}
3473				if iNdEx >= l {
3474					return 0, io.ErrUnexpectedEOF
3475				}
3476				iNdEx++
3477				if dAtA[iNdEx-1] < 0x80 {
3478					break
3479				}
3480			}
3481		case 1:
3482			iNdEx += 8
3483		case 2:
3484			var length int
3485			for shift := uint(0); ; shift += 7 {
3486				if shift >= 64 {
3487					return 0, ErrIntOverflowRpc
3488				}
3489				if iNdEx >= l {
3490					return 0, io.ErrUnexpectedEOF
3491				}
3492				b := dAtA[iNdEx]
3493				iNdEx++
3494				length |= (int(b) & 0x7F) << shift
3495				if b < 0x80 {
3496					break
3497				}
3498			}
3499			if length < 0 {
3500				return 0, ErrInvalidLengthRpc
3501			}
3502			iNdEx += length
3503		case 3:
3504			depth++
3505		case 4:
3506			if depth == 0 {
3507				return 0, ErrUnexpectedEndOfGroupRpc
3508			}
3509			depth--
3510		case 5:
3511			iNdEx += 4
3512		default:
3513			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
3514		}
3515		if iNdEx < 0 {
3516			return 0, ErrInvalidLengthRpc
3517		}
3518		if depth == 0 {
3519			return iNdEx, nil
3520		}
3521	}
3522	return 0, io.ErrUnexpectedEOF
3523}
3524
3525var (
3526	ErrInvalidLengthRpc        = fmt.Errorf("proto: negative length found during unmarshaling")
3527	ErrIntOverflowRpc          = fmt.Errorf("proto: integer overflow")
3528	ErrUnexpectedEndOfGroupRpc = fmt.Errorf("proto: unexpected end of group")
3529)
3530