1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: grpc/service_config/service_config.proto
3
4package grpc_service_config
5
6import (
7	fmt "fmt"
8	proto "github.com/golang/protobuf/proto"
9	duration "github.com/golang/protobuf/ptypes/duration"
10	wrappers "github.com/golang/protobuf/ptypes/wrappers"
11	code "google.golang.org/genproto/googleapis/rpc/code"
12	math "math"
13)
14
15// Reference imports to suppress errors if they are not otherwise used.
16var _ = proto.Marshal
17var _ = fmt.Errorf
18var _ = math.Inf
19
20// This is a compile-time assertion to ensure that this generated file
21// is compatible with the proto package it is being compiled against.
22// A compilation error at this line likely means your copy of the
23// proto package needs to be updated.
24const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
25
26// Load balancing policy.
27//
28// Note that load_balancing_policy is deprecated in favor of
29// load_balancing_config; the former will be used only if the latter
30// is unset.
31//
32// If no LB policy is configured here, then the default is pick_first.
33// If the policy name is set via the client API, that value overrides
34// the value specified here.
35//
36// If the deprecated load_balancing_policy field is used, note that if the
37// resolver returns at least one balancer address (as opposed to backend
38// addresses), gRPC will use grpclb (see
39// https://github.com/grpc/grpc/blob/master/doc/load-balancing.md),
40// regardless of what policy is configured here.  However, if the resolver
41// returns at least one backend address in addition to the balancer
42// address(es), the client may fall back to the requested policy if it
43// is unable to reach any of the grpclb load balancers.
44type ServiceConfig_LoadBalancingPolicy int32
45
46const (
47	ServiceConfig_UNSPECIFIED ServiceConfig_LoadBalancingPolicy = 0
48	ServiceConfig_ROUND_ROBIN ServiceConfig_LoadBalancingPolicy = 1
49)
50
51var ServiceConfig_LoadBalancingPolicy_name = map[int32]string{
52	0: "UNSPECIFIED",
53	1: "ROUND_ROBIN",
54}
55
56var ServiceConfig_LoadBalancingPolicy_value = map[string]int32{
57	"UNSPECIFIED": 0,
58	"ROUND_ROBIN": 1,
59}
60
61func (x ServiceConfig_LoadBalancingPolicy) String() string {
62	return proto.EnumName(ServiceConfig_LoadBalancingPolicy_name, int32(x))
63}
64
65func (ServiceConfig_LoadBalancingPolicy) EnumDescriptor() ([]byte, []int) {
66	return fileDescriptor_e32d3cb2c41c77ce, []int{11, 0}
67}
68
69// Configuration for a method.
70type MethodConfig struct {
71	Name []*MethodConfig_Name `protobuf:"bytes,1,rep,name=name,proto3" json:"name,omitempty"`
72	// Whether RPCs sent to this method should wait until the connection is
73	// ready by default. If false, the RPC will abort immediately if there is
74	// a transient failure connecting to the server. Otherwise, gRPC will
75	// attempt to connect until the deadline is exceeded.
76	//
77	// The value specified via the gRPC client API will override the value
78	// set here. However, note that setting the value in the client API will
79	// also affect transient errors encountered during name resolution, which
80	// cannot be caught by the value here, since the service config is
81	// obtained by the gRPC client via name resolution.
82	WaitForReady *wrappers.BoolValue `protobuf:"bytes,2,opt,name=wait_for_ready,json=waitForReady,proto3" json:"wait_for_ready,omitempty"`
83	// The default timeout in seconds for RPCs sent to this method. This can be
84	// overridden in code. If no reply is received in the specified amount of
85	// time, the request is aborted and a DEADLINE_EXCEEDED error status
86	// is returned to the caller.
87	//
88	// The actual deadline used will be the minimum of the value specified here
89	// and the value set by the application via the gRPC client API.  If either
90	// one is not set, then the other will be used.  If neither is set, then the
91	// request has no deadline.
92	Timeout *duration.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"`
93	// The maximum allowed payload size for an individual request or object in a
94	// stream (client->server) in bytes. The size which is measured is the
95	// serialized payload after per-message compression (but before stream
96	// compression) in bytes. This applies both to streaming and non-streaming
97	// requests.
98	//
99	// The actual value used is the minimum of the value specified here and the
100	// value set by the application via the gRPC client API.  If either one is
101	// not set, then the other will be used.  If neither is set, then the
102	// built-in default is used.
103	//
104	// If a client attempts to send an object larger than this value, it will not
105	// be sent and the client will see a ClientError.
106	// Note that 0 is a valid value, meaning that the request message
107	// must be empty.
108	MaxRequestMessageBytes *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=max_request_message_bytes,json=maxRequestMessageBytes,proto3" json:"max_request_message_bytes,omitempty"`
109	// The maximum allowed payload size for an individual response or object in a
110	// stream (server->client) in bytes. The size which is measured is the
111	// serialized payload after per-message compression (but before stream
112	// compression) in bytes. This applies both to streaming and non-streaming
113	// requests.
114	//
115	// The actual value used is the minimum of the value specified here and the
116	// value set by the application via the gRPC client API.  If either one is
117	// not set, then the other will be used.  If neither is set, then the
118	// built-in default is used.
119	//
120	// If a server attempts to send an object larger than this value, it will not
121	// be sent, and a ServerError will be sent to the client instead.
122	// Note that 0 is a valid value, meaning that the response message
123	// must be empty.
124	MaxResponseMessageBytes *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=max_response_message_bytes,json=maxResponseMessageBytes,proto3" json:"max_response_message_bytes,omitempty"`
125	// Only one of retry_policy or hedging_policy may be set. If neither is set,
126	// RPCs will not be retried or hedged.
127	//
128	// Types that are valid to be assigned to RetryOrHedgingPolicy:
129	//	*MethodConfig_RetryPolicy_
130	//	*MethodConfig_HedgingPolicy_
131	RetryOrHedgingPolicy isMethodConfig_RetryOrHedgingPolicy `protobuf_oneof:"retry_or_hedging_policy"`
132	XXX_NoUnkeyedLiteral struct{}                            `json:"-"`
133	XXX_unrecognized     []byte                              `json:"-"`
134	XXX_sizecache        int32                               `json:"-"`
135}
136
137func (m *MethodConfig) Reset()         { *m = MethodConfig{} }
138func (m *MethodConfig) String() string { return proto.CompactTextString(m) }
139func (*MethodConfig) ProtoMessage()    {}
140func (*MethodConfig) Descriptor() ([]byte, []int) {
141	return fileDescriptor_e32d3cb2c41c77ce, []int{0}
142}
143
144func (m *MethodConfig) XXX_Unmarshal(b []byte) error {
145	return xxx_messageInfo_MethodConfig.Unmarshal(m, b)
146}
147func (m *MethodConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
148	return xxx_messageInfo_MethodConfig.Marshal(b, m, deterministic)
149}
150func (m *MethodConfig) XXX_Merge(src proto.Message) {
151	xxx_messageInfo_MethodConfig.Merge(m, src)
152}
153func (m *MethodConfig) XXX_Size() int {
154	return xxx_messageInfo_MethodConfig.Size(m)
155}
156func (m *MethodConfig) XXX_DiscardUnknown() {
157	xxx_messageInfo_MethodConfig.DiscardUnknown(m)
158}
159
160var xxx_messageInfo_MethodConfig proto.InternalMessageInfo
161
162func (m *MethodConfig) GetName() []*MethodConfig_Name {
163	if m != nil {
164		return m.Name
165	}
166	return nil
167}
168
169func (m *MethodConfig) GetWaitForReady() *wrappers.BoolValue {
170	if m != nil {
171		return m.WaitForReady
172	}
173	return nil
174}
175
176func (m *MethodConfig) GetTimeout() *duration.Duration {
177	if m != nil {
178		return m.Timeout
179	}
180	return nil
181}
182
183func (m *MethodConfig) GetMaxRequestMessageBytes() *wrappers.UInt32Value {
184	if m != nil {
185		return m.MaxRequestMessageBytes
186	}
187	return nil
188}
189
190func (m *MethodConfig) GetMaxResponseMessageBytes() *wrappers.UInt32Value {
191	if m != nil {
192		return m.MaxResponseMessageBytes
193	}
194	return nil
195}
196
197type isMethodConfig_RetryOrHedgingPolicy interface {
198	isMethodConfig_RetryOrHedgingPolicy()
199}
200
201type MethodConfig_RetryPolicy_ struct {
202	RetryPolicy *MethodConfig_RetryPolicy `protobuf:"bytes,6,opt,name=retry_policy,json=retryPolicy,proto3,oneof"`
203}
204
205type MethodConfig_HedgingPolicy_ struct {
206	HedgingPolicy *MethodConfig_HedgingPolicy `protobuf:"bytes,7,opt,name=hedging_policy,json=hedgingPolicy,proto3,oneof"`
207}
208
209func (*MethodConfig_RetryPolicy_) isMethodConfig_RetryOrHedgingPolicy() {}
210
211func (*MethodConfig_HedgingPolicy_) isMethodConfig_RetryOrHedgingPolicy() {}
212
213func (m *MethodConfig) GetRetryOrHedgingPolicy() isMethodConfig_RetryOrHedgingPolicy {
214	if m != nil {
215		return m.RetryOrHedgingPolicy
216	}
217	return nil
218}
219
220func (m *MethodConfig) GetRetryPolicy() *MethodConfig_RetryPolicy {
221	if x, ok := m.GetRetryOrHedgingPolicy().(*MethodConfig_RetryPolicy_); ok {
222		return x.RetryPolicy
223	}
224	return nil
225}
226
227func (m *MethodConfig) GetHedgingPolicy() *MethodConfig_HedgingPolicy {
228	if x, ok := m.GetRetryOrHedgingPolicy().(*MethodConfig_HedgingPolicy_); ok {
229		return x.HedgingPolicy
230	}
231	return nil
232}
233
234// XXX_OneofWrappers is for the internal use of the proto package.
235func (*MethodConfig) XXX_OneofWrappers() []interface{} {
236	return []interface{}{
237		(*MethodConfig_RetryPolicy_)(nil),
238		(*MethodConfig_HedgingPolicy_)(nil),
239	}
240}
241
242// The names of the methods to which this configuration applies.
243// - MethodConfig without names (empty list) will be skipped.
244// - Each name entry must be unique across the entire ServiceConfig.
245// - If the 'method' field is empty, this MethodConfig specifies the defaults
246//   for all methods for the specified service.
247// - If the 'service' field is empty, the 'method' field must be empty, and
248//   this MethodConfig specifies the default for all methods (it's the default
249//   config).
250//
251// When determining which MethodConfig to use for a given RPC, the most
252// specific match wins. For example, let's say that the service config
253// contains the following MethodConfig entries:
254//
255// method_config { name { } ... }
256// method_config { name { service: "MyService" } ... }
257// method_config { name { service: "MyService" method: "Foo" } ... }
258//
259// MyService/Foo will use the third entry, because it exactly matches the
260// service and method name. MyService/Bar will use the second entry, because
261// it provides the default for all methods of MyService. AnotherService/Baz
262// will use the first entry, because it doesn't match the other two.
263//
264// In JSON representation, value "", value `null`, and not present are the
265// same. The following are the same Name:
266// - { "service": "s" }
267// - { "service": "s", "method": null }
268// - { "service": "s", "method": "" }
269type MethodConfig_Name struct {
270	Service              string   `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"`
271	Method               string   `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"`
272	XXX_NoUnkeyedLiteral struct{} `json:"-"`
273	XXX_unrecognized     []byte   `json:"-"`
274	XXX_sizecache        int32    `json:"-"`
275}
276
277func (m *MethodConfig_Name) Reset()         { *m = MethodConfig_Name{} }
278func (m *MethodConfig_Name) String() string { return proto.CompactTextString(m) }
279func (*MethodConfig_Name) ProtoMessage()    {}
280func (*MethodConfig_Name) Descriptor() ([]byte, []int) {
281	return fileDescriptor_e32d3cb2c41c77ce, []int{0, 0}
282}
283
284func (m *MethodConfig_Name) XXX_Unmarshal(b []byte) error {
285	return xxx_messageInfo_MethodConfig_Name.Unmarshal(m, b)
286}
287func (m *MethodConfig_Name) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
288	return xxx_messageInfo_MethodConfig_Name.Marshal(b, m, deterministic)
289}
290func (m *MethodConfig_Name) XXX_Merge(src proto.Message) {
291	xxx_messageInfo_MethodConfig_Name.Merge(m, src)
292}
293func (m *MethodConfig_Name) XXX_Size() int {
294	return xxx_messageInfo_MethodConfig_Name.Size(m)
295}
296func (m *MethodConfig_Name) XXX_DiscardUnknown() {
297	xxx_messageInfo_MethodConfig_Name.DiscardUnknown(m)
298}
299
300var xxx_messageInfo_MethodConfig_Name proto.InternalMessageInfo
301
302func (m *MethodConfig_Name) GetService() string {
303	if m != nil {
304		return m.Service
305	}
306	return ""
307}
308
309func (m *MethodConfig_Name) GetMethod() string {
310	if m != nil {
311		return m.Method
312	}
313	return ""
314}
315
316// The retry policy for outgoing RPCs.
317type MethodConfig_RetryPolicy struct {
318	// The maximum number of RPC attempts, including the original attempt.
319	//
320	// This field is required and must be greater than 1.
321	// Any value greater than 5 will be treated as if it were 5.
322	MaxAttempts uint32 `protobuf:"varint,1,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"`
323	// Exponential backoff parameters. The initial retry attempt will occur at
324	// random(0, initial_backoff). In general, the nth attempt will occur at
325	// random(0,
326	//   min(initial_backoff*backoff_multiplier**(n-1), max_backoff)).
327	// Required. Must be greater than zero.
328	InitialBackoff *duration.Duration `protobuf:"bytes,2,opt,name=initial_backoff,json=initialBackoff,proto3" json:"initial_backoff,omitempty"`
329	// Required. Must be greater than zero.
330	MaxBackoff        *duration.Duration `protobuf:"bytes,3,opt,name=max_backoff,json=maxBackoff,proto3" json:"max_backoff,omitempty"`
331	BackoffMultiplier float32            `protobuf:"fixed32,4,opt,name=backoff_multiplier,json=backoffMultiplier,proto3" json:"backoff_multiplier,omitempty"`
332	// The set of status codes which may be retried.
333	//
334	// This field is required and must be non-empty.
335	RetryableStatusCodes []code.Code `protobuf:"varint,5,rep,packed,name=retryable_status_codes,json=retryableStatusCodes,proto3,enum=google.rpc.Code" json:"retryable_status_codes,omitempty"`
336	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
337	XXX_unrecognized     []byte      `json:"-"`
338	XXX_sizecache        int32       `json:"-"`
339}
340
341func (m *MethodConfig_RetryPolicy) Reset()         { *m = MethodConfig_RetryPolicy{} }
342func (m *MethodConfig_RetryPolicy) String() string { return proto.CompactTextString(m) }
343func (*MethodConfig_RetryPolicy) ProtoMessage()    {}
344func (*MethodConfig_RetryPolicy) Descriptor() ([]byte, []int) {
345	return fileDescriptor_e32d3cb2c41c77ce, []int{0, 1}
346}
347
348func (m *MethodConfig_RetryPolicy) XXX_Unmarshal(b []byte) error {
349	return xxx_messageInfo_MethodConfig_RetryPolicy.Unmarshal(m, b)
350}
351func (m *MethodConfig_RetryPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
352	return xxx_messageInfo_MethodConfig_RetryPolicy.Marshal(b, m, deterministic)
353}
354func (m *MethodConfig_RetryPolicy) XXX_Merge(src proto.Message) {
355	xxx_messageInfo_MethodConfig_RetryPolicy.Merge(m, src)
356}
357func (m *MethodConfig_RetryPolicy) XXX_Size() int {
358	return xxx_messageInfo_MethodConfig_RetryPolicy.Size(m)
359}
360func (m *MethodConfig_RetryPolicy) XXX_DiscardUnknown() {
361	xxx_messageInfo_MethodConfig_RetryPolicy.DiscardUnknown(m)
362}
363
364var xxx_messageInfo_MethodConfig_RetryPolicy proto.InternalMessageInfo
365
366func (m *MethodConfig_RetryPolicy) GetMaxAttempts() uint32 {
367	if m != nil {
368		return m.MaxAttempts
369	}
370	return 0
371}
372
373func (m *MethodConfig_RetryPolicy) GetInitialBackoff() *duration.Duration {
374	if m != nil {
375		return m.InitialBackoff
376	}
377	return nil
378}
379
380func (m *MethodConfig_RetryPolicy) GetMaxBackoff() *duration.Duration {
381	if m != nil {
382		return m.MaxBackoff
383	}
384	return nil
385}
386
387func (m *MethodConfig_RetryPolicy) GetBackoffMultiplier() float32 {
388	if m != nil {
389		return m.BackoffMultiplier
390	}
391	return 0
392}
393
394func (m *MethodConfig_RetryPolicy) GetRetryableStatusCodes() []code.Code {
395	if m != nil {
396		return m.RetryableStatusCodes
397	}
398	return nil
399}
400
401// The hedging policy for outgoing RPCs. Hedged RPCs may execute more than
402// once on the server, so only idempotent methods should specify a hedging
403// policy.
404type MethodConfig_HedgingPolicy struct {
405	// The hedging policy will send up to max_requests RPCs.
406	// This number represents the total number of all attempts, including
407	// the original attempt.
408	//
409	// This field is required and must be greater than 1.
410	// Any value greater than 5 will be treated as if it were 5.
411	MaxAttempts uint32 `protobuf:"varint,1,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"`
412	// The first RPC will be sent immediately, but the max_requests-1 subsequent
413	// hedged RPCs will be sent at intervals of every hedging_delay. Set this
414	// to 0 to immediately send all max_requests RPCs.
415	HedgingDelay *duration.Duration `protobuf:"bytes,2,opt,name=hedging_delay,json=hedgingDelay,proto3" json:"hedging_delay,omitempty"`
416	// The set of status codes which indicate other hedged RPCs may still
417	// succeed. If a non-fatal status code is returned by the server, hedged
418	// RPCs will continue. Otherwise, outstanding requests will be canceled and
419	// the error returned to the client application layer.
420	//
421	// This field is optional.
422	NonFatalStatusCodes  []code.Code `protobuf:"varint,3,rep,packed,name=non_fatal_status_codes,json=nonFatalStatusCodes,proto3,enum=google.rpc.Code" json:"non_fatal_status_codes,omitempty"`
423	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
424	XXX_unrecognized     []byte      `json:"-"`
425	XXX_sizecache        int32       `json:"-"`
426}
427
428func (m *MethodConfig_HedgingPolicy) Reset()         { *m = MethodConfig_HedgingPolicy{} }
429func (m *MethodConfig_HedgingPolicy) String() string { return proto.CompactTextString(m) }
430func (*MethodConfig_HedgingPolicy) ProtoMessage()    {}
431func (*MethodConfig_HedgingPolicy) Descriptor() ([]byte, []int) {
432	return fileDescriptor_e32d3cb2c41c77ce, []int{0, 2}
433}
434
435func (m *MethodConfig_HedgingPolicy) XXX_Unmarshal(b []byte) error {
436	return xxx_messageInfo_MethodConfig_HedgingPolicy.Unmarshal(m, b)
437}
438func (m *MethodConfig_HedgingPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
439	return xxx_messageInfo_MethodConfig_HedgingPolicy.Marshal(b, m, deterministic)
440}
441func (m *MethodConfig_HedgingPolicy) XXX_Merge(src proto.Message) {
442	xxx_messageInfo_MethodConfig_HedgingPolicy.Merge(m, src)
443}
444func (m *MethodConfig_HedgingPolicy) XXX_Size() int {
445	return xxx_messageInfo_MethodConfig_HedgingPolicy.Size(m)
446}
447func (m *MethodConfig_HedgingPolicy) XXX_DiscardUnknown() {
448	xxx_messageInfo_MethodConfig_HedgingPolicy.DiscardUnknown(m)
449}
450
451var xxx_messageInfo_MethodConfig_HedgingPolicy proto.InternalMessageInfo
452
453func (m *MethodConfig_HedgingPolicy) GetMaxAttempts() uint32 {
454	if m != nil {
455		return m.MaxAttempts
456	}
457	return 0
458}
459
460func (m *MethodConfig_HedgingPolicy) GetHedgingDelay() *duration.Duration {
461	if m != nil {
462		return m.HedgingDelay
463	}
464	return nil
465}
466
467func (m *MethodConfig_HedgingPolicy) GetNonFatalStatusCodes() []code.Code {
468	if m != nil {
469		return m.NonFatalStatusCodes
470	}
471	return nil
472}
473
474// Configuration for pick_first LB policy.
475type PickFirstConfig struct {
476	XXX_NoUnkeyedLiteral struct{} `json:"-"`
477	XXX_unrecognized     []byte   `json:"-"`
478	XXX_sizecache        int32    `json:"-"`
479}
480
481func (m *PickFirstConfig) Reset()         { *m = PickFirstConfig{} }
482func (m *PickFirstConfig) String() string { return proto.CompactTextString(m) }
483func (*PickFirstConfig) ProtoMessage()    {}
484func (*PickFirstConfig) Descriptor() ([]byte, []int) {
485	return fileDescriptor_e32d3cb2c41c77ce, []int{1}
486}
487
488func (m *PickFirstConfig) XXX_Unmarshal(b []byte) error {
489	return xxx_messageInfo_PickFirstConfig.Unmarshal(m, b)
490}
491func (m *PickFirstConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
492	return xxx_messageInfo_PickFirstConfig.Marshal(b, m, deterministic)
493}
494func (m *PickFirstConfig) XXX_Merge(src proto.Message) {
495	xxx_messageInfo_PickFirstConfig.Merge(m, src)
496}
497func (m *PickFirstConfig) XXX_Size() int {
498	return xxx_messageInfo_PickFirstConfig.Size(m)
499}
500func (m *PickFirstConfig) XXX_DiscardUnknown() {
501	xxx_messageInfo_PickFirstConfig.DiscardUnknown(m)
502}
503
504var xxx_messageInfo_PickFirstConfig proto.InternalMessageInfo
505
506// Configuration for round_robin LB policy.
507type RoundRobinConfig struct {
508	XXX_NoUnkeyedLiteral struct{} `json:"-"`
509	XXX_unrecognized     []byte   `json:"-"`
510	XXX_sizecache        int32    `json:"-"`
511}
512
513func (m *RoundRobinConfig) Reset()         { *m = RoundRobinConfig{} }
514func (m *RoundRobinConfig) String() string { return proto.CompactTextString(m) }
515func (*RoundRobinConfig) ProtoMessage()    {}
516func (*RoundRobinConfig) Descriptor() ([]byte, []int) {
517	return fileDescriptor_e32d3cb2c41c77ce, []int{2}
518}
519
520func (m *RoundRobinConfig) XXX_Unmarshal(b []byte) error {
521	return xxx_messageInfo_RoundRobinConfig.Unmarshal(m, b)
522}
523func (m *RoundRobinConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
524	return xxx_messageInfo_RoundRobinConfig.Marshal(b, m, deterministic)
525}
526func (m *RoundRobinConfig) XXX_Merge(src proto.Message) {
527	xxx_messageInfo_RoundRobinConfig.Merge(m, src)
528}
529func (m *RoundRobinConfig) XXX_Size() int {
530	return xxx_messageInfo_RoundRobinConfig.Size(m)
531}
532func (m *RoundRobinConfig) XXX_DiscardUnknown() {
533	xxx_messageInfo_RoundRobinConfig.DiscardUnknown(m)
534}
535
536var xxx_messageInfo_RoundRobinConfig proto.InternalMessageInfo
537
538// Configuration for priority LB policy.
539type PriorityLoadBalancingPolicyConfig struct {
540	Children map[string]*PriorityLoadBalancingPolicyConfig_Child `protobuf:"bytes,1,rep,name=children,proto3" json:"children,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
541	// A list of child names in decreasing priority order
542	// (i.e., first element is the highest priority).
543	Priorities           []string `protobuf:"bytes,2,rep,name=priorities,proto3" json:"priorities,omitempty"`
544	XXX_NoUnkeyedLiteral struct{} `json:"-"`
545	XXX_unrecognized     []byte   `json:"-"`
546	XXX_sizecache        int32    `json:"-"`
547}
548
549func (m *PriorityLoadBalancingPolicyConfig) Reset()         { *m = PriorityLoadBalancingPolicyConfig{} }
550func (m *PriorityLoadBalancingPolicyConfig) String() string { return proto.CompactTextString(m) }
551func (*PriorityLoadBalancingPolicyConfig) ProtoMessage()    {}
552func (*PriorityLoadBalancingPolicyConfig) Descriptor() ([]byte, []int) {
553	return fileDescriptor_e32d3cb2c41c77ce, []int{3}
554}
555
556func (m *PriorityLoadBalancingPolicyConfig) XXX_Unmarshal(b []byte) error {
557	return xxx_messageInfo_PriorityLoadBalancingPolicyConfig.Unmarshal(m, b)
558}
559func (m *PriorityLoadBalancingPolicyConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
560	return xxx_messageInfo_PriorityLoadBalancingPolicyConfig.Marshal(b, m, deterministic)
561}
562func (m *PriorityLoadBalancingPolicyConfig) XXX_Merge(src proto.Message) {
563	xxx_messageInfo_PriorityLoadBalancingPolicyConfig.Merge(m, src)
564}
565func (m *PriorityLoadBalancingPolicyConfig) XXX_Size() int {
566	return xxx_messageInfo_PriorityLoadBalancingPolicyConfig.Size(m)
567}
568func (m *PriorityLoadBalancingPolicyConfig) XXX_DiscardUnknown() {
569	xxx_messageInfo_PriorityLoadBalancingPolicyConfig.DiscardUnknown(m)
570}
571
572var xxx_messageInfo_PriorityLoadBalancingPolicyConfig proto.InternalMessageInfo
573
574func (m *PriorityLoadBalancingPolicyConfig) GetChildren() map[string]*PriorityLoadBalancingPolicyConfig_Child {
575	if m != nil {
576		return m.Children
577	}
578	return nil
579}
580
581func (m *PriorityLoadBalancingPolicyConfig) GetPriorities() []string {
582	if m != nil {
583		return m.Priorities
584	}
585	return nil
586}
587
588// A map of name to child policy configuration.
589// The names are used to allow the priority policy to update
590// existing child policies instead of creating new ones every
591// time it receives a config update.
592type PriorityLoadBalancingPolicyConfig_Child struct {
593	Config               []*LoadBalancingConfig `protobuf:"bytes,1,rep,name=config,proto3" json:"config,omitempty"`
594	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
595	XXX_unrecognized     []byte                 `json:"-"`
596	XXX_sizecache        int32                  `json:"-"`
597}
598
599func (m *PriorityLoadBalancingPolicyConfig_Child) Reset() {
600	*m = PriorityLoadBalancingPolicyConfig_Child{}
601}
602func (m *PriorityLoadBalancingPolicyConfig_Child) String() string { return proto.CompactTextString(m) }
603func (*PriorityLoadBalancingPolicyConfig_Child) ProtoMessage()    {}
604func (*PriorityLoadBalancingPolicyConfig_Child) Descriptor() ([]byte, []int) {
605	return fileDescriptor_e32d3cb2c41c77ce, []int{3, 0}
606}
607
608func (m *PriorityLoadBalancingPolicyConfig_Child) XXX_Unmarshal(b []byte) error {
609	return xxx_messageInfo_PriorityLoadBalancingPolicyConfig_Child.Unmarshal(m, b)
610}
611func (m *PriorityLoadBalancingPolicyConfig_Child) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
612	return xxx_messageInfo_PriorityLoadBalancingPolicyConfig_Child.Marshal(b, m, deterministic)
613}
614func (m *PriorityLoadBalancingPolicyConfig_Child) XXX_Merge(src proto.Message) {
615	xxx_messageInfo_PriorityLoadBalancingPolicyConfig_Child.Merge(m, src)
616}
617func (m *PriorityLoadBalancingPolicyConfig_Child) XXX_Size() int {
618	return xxx_messageInfo_PriorityLoadBalancingPolicyConfig_Child.Size(m)
619}
620func (m *PriorityLoadBalancingPolicyConfig_Child) XXX_DiscardUnknown() {
621	xxx_messageInfo_PriorityLoadBalancingPolicyConfig_Child.DiscardUnknown(m)
622}
623
624var xxx_messageInfo_PriorityLoadBalancingPolicyConfig_Child proto.InternalMessageInfo
625
626func (m *PriorityLoadBalancingPolicyConfig_Child) GetConfig() []*LoadBalancingConfig {
627	if m != nil {
628		return m.Config
629	}
630	return nil
631}
632
633// Configuration for weighted_target LB policy.
634type WeightedTargetLoadBalancingPolicyConfig struct {
635	Targets              map[string]*WeightedTargetLoadBalancingPolicyConfig_Target `protobuf:"bytes,1,rep,name=targets,proto3" json:"targets,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
636	XXX_NoUnkeyedLiteral struct{}                                                   `json:"-"`
637	XXX_unrecognized     []byte                                                     `json:"-"`
638	XXX_sizecache        int32                                                      `json:"-"`
639}
640
641func (m *WeightedTargetLoadBalancingPolicyConfig) Reset() {
642	*m = WeightedTargetLoadBalancingPolicyConfig{}
643}
644func (m *WeightedTargetLoadBalancingPolicyConfig) String() string { return proto.CompactTextString(m) }
645func (*WeightedTargetLoadBalancingPolicyConfig) ProtoMessage()    {}
646func (*WeightedTargetLoadBalancingPolicyConfig) Descriptor() ([]byte, []int) {
647	return fileDescriptor_e32d3cb2c41c77ce, []int{4}
648}
649
650func (m *WeightedTargetLoadBalancingPolicyConfig) XXX_Unmarshal(b []byte) error {
651	return xxx_messageInfo_WeightedTargetLoadBalancingPolicyConfig.Unmarshal(m, b)
652}
653func (m *WeightedTargetLoadBalancingPolicyConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
654	return xxx_messageInfo_WeightedTargetLoadBalancingPolicyConfig.Marshal(b, m, deterministic)
655}
656func (m *WeightedTargetLoadBalancingPolicyConfig) XXX_Merge(src proto.Message) {
657	xxx_messageInfo_WeightedTargetLoadBalancingPolicyConfig.Merge(m, src)
658}
659func (m *WeightedTargetLoadBalancingPolicyConfig) XXX_Size() int {
660	return xxx_messageInfo_WeightedTargetLoadBalancingPolicyConfig.Size(m)
661}
662func (m *WeightedTargetLoadBalancingPolicyConfig) XXX_DiscardUnknown() {
663	xxx_messageInfo_WeightedTargetLoadBalancingPolicyConfig.DiscardUnknown(m)
664}
665
666var xxx_messageInfo_WeightedTargetLoadBalancingPolicyConfig proto.InternalMessageInfo
667
668func (m *WeightedTargetLoadBalancingPolicyConfig) GetTargets() map[string]*WeightedTargetLoadBalancingPolicyConfig_Target {
669	if m != nil {
670		return m.Targets
671	}
672	return nil
673}
674
675type WeightedTargetLoadBalancingPolicyConfig_Target struct {
676	Weight               uint32                 `protobuf:"varint,1,opt,name=weight,proto3" json:"weight,omitempty"`
677	ChildPolicy          []*LoadBalancingConfig `protobuf:"bytes,2,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
678	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
679	XXX_unrecognized     []byte                 `json:"-"`
680	XXX_sizecache        int32                  `json:"-"`
681}
682
683func (m *WeightedTargetLoadBalancingPolicyConfig_Target) Reset() {
684	*m = WeightedTargetLoadBalancingPolicyConfig_Target{}
685}
686func (m *WeightedTargetLoadBalancingPolicyConfig_Target) String() string {
687	return proto.CompactTextString(m)
688}
689func (*WeightedTargetLoadBalancingPolicyConfig_Target) ProtoMessage() {}
690func (*WeightedTargetLoadBalancingPolicyConfig_Target) Descriptor() ([]byte, []int) {
691	return fileDescriptor_e32d3cb2c41c77ce, []int{4, 0}
692}
693
694func (m *WeightedTargetLoadBalancingPolicyConfig_Target) XXX_Unmarshal(b []byte) error {
695	return xxx_messageInfo_WeightedTargetLoadBalancingPolicyConfig_Target.Unmarshal(m, b)
696}
697func (m *WeightedTargetLoadBalancingPolicyConfig_Target) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
698	return xxx_messageInfo_WeightedTargetLoadBalancingPolicyConfig_Target.Marshal(b, m, deterministic)
699}
700func (m *WeightedTargetLoadBalancingPolicyConfig_Target) XXX_Merge(src proto.Message) {
701	xxx_messageInfo_WeightedTargetLoadBalancingPolicyConfig_Target.Merge(m, src)
702}
703func (m *WeightedTargetLoadBalancingPolicyConfig_Target) XXX_Size() int {
704	return xxx_messageInfo_WeightedTargetLoadBalancingPolicyConfig_Target.Size(m)
705}
706func (m *WeightedTargetLoadBalancingPolicyConfig_Target) XXX_DiscardUnknown() {
707	xxx_messageInfo_WeightedTargetLoadBalancingPolicyConfig_Target.DiscardUnknown(m)
708}
709
710var xxx_messageInfo_WeightedTargetLoadBalancingPolicyConfig_Target proto.InternalMessageInfo
711
712func (m *WeightedTargetLoadBalancingPolicyConfig_Target) GetWeight() uint32 {
713	if m != nil {
714		return m.Weight
715	}
716	return 0
717}
718
719func (m *WeightedTargetLoadBalancingPolicyConfig_Target) GetChildPolicy() []*LoadBalancingConfig {
720	if m != nil {
721		return m.ChildPolicy
722	}
723	return nil
724}
725
726// Configuration for grpclb LB policy.
727type GrpcLbConfig struct {
728	// Optional.  What LB policy to use for routing between the backend
729	// addresses.  If unset, defaults to round_robin.
730	// Currently, the only supported values are round_robin and pick_first.
731	// Note that this will be used both in balancer mode and in fallback mode.
732	// Multiple LB policies can be specified; clients will iterate through
733	// the list in order and stop at the first policy that they support.
734	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,1,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
735	// Optional.  If specified, overrides the name of the service to be sent to
736	// the balancer.
737	ServiceName          string   `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
738	XXX_NoUnkeyedLiteral struct{} `json:"-"`
739	XXX_unrecognized     []byte   `json:"-"`
740	XXX_sizecache        int32    `json:"-"`
741}
742
743func (m *GrpcLbConfig) Reset()         { *m = GrpcLbConfig{} }
744func (m *GrpcLbConfig) String() string { return proto.CompactTextString(m) }
745func (*GrpcLbConfig) ProtoMessage()    {}
746func (*GrpcLbConfig) Descriptor() ([]byte, []int) {
747	return fileDescriptor_e32d3cb2c41c77ce, []int{5}
748}
749
750func (m *GrpcLbConfig) XXX_Unmarshal(b []byte) error {
751	return xxx_messageInfo_GrpcLbConfig.Unmarshal(m, b)
752}
753func (m *GrpcLbConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
754	return xxx_messageInfo_GrpcLbConfig.Marshal(b, m, deterministic)
755}
756func (m *GrpcLbConfig) XXX_Merge(src proto.Message) {
757	xxx_messageInfo_GrpcLbConfig.Merge(m, src)
758}
759func (m *GrpcLbConfig) XXX_Size() int {
760	return xxx_messageInfo_GrpcLbConfig.Size(m)
761}
762func (m *GrpcLbConfig) XXX_DiscardUnknown() {
763	xxx_messageInfo_GrpcLbConfig.DiscardUnknown(m)
764}
765
766var xxx_messageInfo_GrpcLbConfig proto.InternalMessageInfo
767
768func (m *GrpcLbConfig) GetChildPolicy() []*LoadBalancingConfig {
769	if m != nil {
770		return m.ChildPolicy
771	}
772	return nil
773}
774
775func (m *GrpcLbConfig) GetServiceName() string {
776	if m != nil {
777		return m.ServiceName
778	}
779	return ""
780}
781
782// Configuration for the cds LB policy.
783type CdsConfig struct {
784	Cluster              string   `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
785	XXX_NoUnkeyedLiteral struct{} `json:"-"`
786	XXX_unrecognized     []byte   `json:"-"`
787	XXX_sizecache        int32    `json:"-"`
788}
789
790func (m *CdsConfig) Reset()         { *m = CdsConfig{} }
791func (m *CdsConfig) String() string { return proto.CompactTextString(m) }
792func (*CdsConfig) ProtoMessage()    {}
793func (*CdsConfig) Descriptor() ([]byte, []int) {
794	return fileDescriptor_e32d3cb2c41c77ce, []int{6}
795}
796
797func (m *CdsConfig) XXX_Unmarshal(b []byte) error {
798	return xxx_messageInfo_CdsConfig.Unmarshal(m, b)
799}
800func (m *CdsConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
801	return xxx_messageInfo_CdsConfig.Marshal(b, m, deterministic)
802}
803func (m *CdsConfig) XXX_Merge(src proto.Message) {
804	xxx_messageInfo_CdsConfig.Merge(m, src)
805}
806func (m *CdsConfig) XXX_Size() int {
807	return xxx_messageInfo_CdsConfig.Size(m)
808}
809func (m *CdsConfig) XXX_DiscardUnknown() {
810	xxx_messageInfo_CdsConfig.DiscardUnknown(m)
811}
812
813var xxx_messageInfo_CdsConfig proto.InternalMessageInfo
814
815func (m *CdsConfig) GetCluster() string {
816	if m != nil {
817		return m.Cluster
818	}
819	return ""
820}
821
822// Configuration for xds LB policy.
823type XdsConfig struct {
824	// Name of balancer to connect to.
825	BalancerName string `protobuf:"bytes,1,opt,name=balancer_name,json=balancerName,proto3" json:"balancer_name,omitempty"` // Deprecated: Do not use.
826	// Optional.  What LB policy to use for intra-locality routing.
827	// If unset, will use whatever algorithm is specified by the balancer.
828	// Multiple LB policies can be specified; clients will iterate through
829	// the list in order and stop at the first policy that they support.
830	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,2,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
831	// Optional.  What LB policy to use in fallback mode.  If not
832	// specified, defaults to round_robin.
833	// Multiple LB policies can be specified; clients will iterate through
834	// the list in order and stop at the first policy that they support.
835	FallbackPolicy []*LoadBalancingConfig `protobuf:"bytes,3,rep,name=fallback_policy,json=fallbackPolicy,proto3" json:"fallback_policy,omitempty"`
836	// Optional.  Name to use in EDS query.  If not present, defaults to
837	// the server name from the target URI.
838	EdsServiceName string `protobuf:"bytes,4,opt,name=eds_service_name,json=edsServiceName,proto3" json:"eds_service_name,omitempty"`
839	// LRS server to send load reports to.
840	// If not present, load reporting will be disabled.
841	// If set to the empty string, load reporting will be sent to the same
842	// server that we obtained CDS data from.
843	LrsLoadReportingServerName *wrappers.StringValue `protobuf:"bytes,5,opt,name=lrs_load_reporting_server_name,json=lrsLoadReportingServerName,proto3" json:"lrs_load_reporting_server_name,omitempty"`
844	XXX_NoUnkeyedLiteral       struct{}              `json:"-"`
845	XXX_unrecognized           []byte                `json:"-"`
846	XXX_sizecache              int32                 `json:"-"`
847}
848
849func (m *XdsConfig) Reset()         { *m = XdsConfig{} }
850func (m *XdsConfig) String() string { return proto.CompactTextString(m) }
851func (*XdsConfig) ProtoMessage()    {}
852func (*XdsConfig) Descriptor() ([]byte, []int) {
853	return fileDescriptor_e32d3cb2c41c77ce, []int{7}
854}
855
856func (m *XdsConfig) XXX_Unmarshal(b []byte) error {
857	return xxx_messageInfo_XdsConfig.Unmarshal(m, b)
858}
859func (m *XdsConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
860	return xxx_messageInfo_XdsConfig.Marshal(b, m, deterministic)
861}
862func (m *XdsConfig) XXX_Merge(src proto.Message) {
863	xxx_messageInfo_XdsConfig.Merge(m, src)
864}
865func (m *XdsConfig) XXX_Size() int {
866	return xxx_messageInfo_XdsConfig.Size(m)
867}
868func (m *XdsConfig) XXX_DiscardUnknown() {
869	xxx_messageInfo_XdsConfig.DiscardUnknown(m)
870}
871
872var xxx_messageInfo_XdsConfig proto.InternalMessageInfo
873
874// Deprecated: Do not use.
875func (m *XdsConfig) GetBalancerName() string {
876	if m != nil {
877		return m.BalancerName
878	}
879	return ""
880}
881
882func (m *XdsConfig) GetChildPolicy() []*LoadBalancingConfig {
883	if m != nil {
884		return m.ChildPolicy
885	}
886	return nil
887}
888
889func (m *XdsConfig) GetFallbackPolicy() []*LoadBalancingConfig {
890	if m != nil {
891		return m.FallbackPolicy
892	}
893	return nil
894}
895
896func (m *XdsConfig) GetEdsServiceName() string {
897	if m != nil {
898		return m.EdsServiceName
899	}
900	return ""
901}
902
903func (m *XdsConfig) GetLrsLoadReportingServerName() *wrappers.StringValue {
904	if m != nil {
905		return m.LrsLoadReportingServerName
906	}
907	return nil
908}
909
910// Configuration for eds LB policy.
911type EdsLoadBalancingPolicyConfig struct {
912	// Cluster name.  Required.
913	Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
914	// EDS service name, as returned in CDS.
915	// May be unset if not specified in CDS.
916	EdsServiceName string `protobuf:"bytes,2,opt,name=eds_service_name,json=edsServiceName,proto3" json:"eds_service_name,omitempty"`
917	// Server to send load reports to.
918	// If unset, no load reporting is done.
919	// If set to empty string, load reporting will be sent to the same
920	// server as we are getting xds data from.
921	LrsLoadReportingServerName *wrappers.StringValue `protobuf:"bytes,3,opt,name=lrs_load_reporting_server_name,json=lrsLoadReportingServerName,proto3" json:"lrs_load_reporting_server_name,omitempty"`
922	// Locality-picking policy.
923	// This policy's config is expected to be in the format used
924	// by the weighted_target policy.  Note that the config should include
925	// an empty value for the "targets" field; that empty value will be
926	// replaced by one that is dynamically generated based on the EDS data.
927	// Optional; defaults to "weighted_target".
928	LocalityPickingPolicy []*LoadBalancingConfig `protobuf:"bytes,4,rep,name=locality_picking_policy,json=localityPickingPolicy,proto3" json:"locality_picking_policy,omitempty"`
929	// Endpoint-picking policy.
930	// This will be configured as the policy for each child in the
931	// locality-policy's config.
932	// Optional; defaults to "round_robin".
933	EndpointPickingPolicy []*LoadBalancingConfig `protobuf:"bytes,5,rep,name=endpoint_picking_policy,json=endpointPickingPolicy,proto3" json:"endpoint_picking_policy,omitempty"`
934	XXX_NoUnkeyedLiteral  struct{}               `json:"-"`
935	XXX_unrecognized      []byte                 `json:"-"`
936	XXX_sizecache         int32                  `json:"-"`
937}
938
939func (m *EdsLoadBalancingPolicyConfig) Reset()         { *m = EdsLoadBalancingPolicyConfig{} }
940func (m *EdsLoadBalancingPolicyConfig) String() string { return proto.CompactTextString(m) }
941func (*EdsLoadBalancingPolicyConfig) ProtoMessage()    {}
942func (*EdsLoadBalancingPolicyConfig) Descriptor() ([]byte, []int) {
943	return fileDescriptor_e32d3cb2c41c77ce, []int{8}
944}
945
946func (m *EdsLoadBalancingPolicyConfig) XXX_Unmarshal(b []byte) error {
947	return xxx_messageInfo_EdsLoadBalancingPolicyConfig.Unmarshal(m, b)
948}
949func (m *EdsLoadBalancingPolicyConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
950	return xxx_messageInfo_EdsLoadBalancingPolicyConfig.Marshal(b, m, deterministic)
951}
952func (m *EdsLoadBalancingPolicyConfig) XXX_Merge(src proto.Message) {
953	xxx_messageInfo_EdsLoadBalancingPolicyConfig.Merge(m, src)
954}
955func (m *EdsLoadBalancingPolicyConfig) XXX_Size() int {
956	return xxx_messageInfo_EdsLoadBalancingPolicyConfig.Size(m)
957}
958func (m *EdsLoadBalancingPolicyConfig) XXX_DiscardUnknown() {
959	xxx_messageInfo_EdsLoadBalancingPolicyConfig.DiscardUnknown(m)
960}
961
962var xxx_messageInfo_EdsLoadBalancingPolicyConfig proto.InternalMessageInfo
963
964func (m *EdsLoadBalancingPolicyConfig) GetCluster() string {
965	if m != nil {
966		return m.Cluster
967	}
968	return ""
969}
970
971func (m *EdsLoadBalancingPolicyConfig) GetEdsServiceName() string {
972	if m != nil {
973		return m.EdsServiceName
974	}
975	return ""
976}
977
978func (m *EdsLoadBalancingPolicyConfig) GetLrsLoadReportingServerName() *wrappers.StringValue {
979	if m != nil {
980		return m.LrsLoadReportingServerName
981	}
982	return nil
983}
984
985func (m *EdsLoadBalancingPolicyConfig) GetLocalityPickingPolicy() []*LoadBalancingConfig {
986	if m != nil {
987		return m.LocalityPickingPolicy
988	}
989	return nil
990}
991
992func (m *EdsLoadBalancingPolicyConfig) GetEndpointPickingPolicy() []*LoadBalancingConfig {
993	if m != nil {
994		return m.EndpointPickingPolicy
995	}
996	return nil
997}
998
999// Configuration for lrs LB policy.
1000type LrsLoadBalancingPolicyConfig struct {
1001	// Cluster name.  Required.
1002	ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
1003	// EDS service name, as returned in CDS.
1004	// May be unset if not specified in CDS.
1005	EdsServiceName string `protobuf:"bytes,2,opt,name=eds_service_name,json=edsServiceName,proto3" json:"eds_service_name,omitempty"`
1006	// Server to send load reports to.  Required.
1007	// If set to empty string, load reporting will be sent to the same
1008	// server as we are getting xds data from.
1009	LrsLoadReportingServerName string                                 `protobuf:"bytes,3,opt,name=lrs_load_reporting_server_name,json=lrsLoadReportingServerName,proto3" json:"lrs_load_reporting_server_name,omitempty"`
1010	Locality                   *LrsLoadBalancingPolicyConfig_Locality `protobuf:"bytes,4,opt,name=locality,proto3" json:"locality,omitempty"`
1011	// Endpoint-picking policy.
1012	ChildPolicy          []*LoadBalancingConfig `protobuf:"bytes,5,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
1013	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
1014	XXX_unrecognized     []byte                 `json:"-"`
1015	XXX_sizecache        int32                  `json:"-"`
1016}
1017
1018func (m *LrsLoadBalancingPolicyConfig) Reset()         { *m = LrsLoadBalancingPolicyConfig{} }
1019func (m *LrsLoadBalancingPolicyConfig) String() string { return proto.CompactTextString(m) }
1020func (*LrsLoadBalancingPolicyConfig) ProtoMessage()    {}
1021func (*LrsLoadBalancingPolicyConfig) Descriptor() ([]byte, []int) {
1022	return fileDescriptor_e32d3cb2c41c77ce, []int{9}
1023}
1024
1025func (m *LrsLoadBalancingPolicyConfig) XXX_Unmarshal(b []byte) error {
1026	return xxx_messageInfo_LrsLoadBalancingPolicyConfig.Unmarshal(m, b)
1027}
1028func (m *LrsLoadBalancingPolicyConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1029	return xxx_messageInfo_LrsLoadBalancingPolicyConfig.Marshal(b, m, deterministic)
1030}
1031func (m *LrsLoadBalancingPolicyConfig) XXX_Merge(src proto.Message) {
1032	xxx_messageInfo_LrsLoadBalancingPolicyConfig.Merge(m, src)
1033}
1034func (m *LrsLoadBalancingPolicyConfig) XXX_Size() int {
1035	return xxx_messageInfo_LrsLoadBalancingPolicyConfig.Size(m)
1036}
1037func (m *LrsLoadBalancingPolicyConfig) XXX_DiscardUnknown() {
1038	xxx_messageInfo_LrsLoadBalancingPolicyConfig.DiscardUnknown(m)
1039}
1040
1041var xxx_messageInfo_LrsLoadBalancingPolicyConfig proto.InternalMessageInfo
1042
1043func (m *LrsLoadBalancingPolicyConfig) GetClusterName() string {
1044	if m != nil {
1045		return m.ClusterName
1046	}
1047	return ""
1048}
1049
1050func (m *LrsLoadBalancingPolicyConfig) GetEdsServiceName() string {
1051	if m != nil {
1052		return m.EdsServiceName
1053	}
1054	return ""
1055}
1056
1057func (m *LrsLoadBalancingPolicyConfig) GetLrsLoadReportingServerName() string {
1058	if m != nil {
1059		return m.LrsLoadReportingServerName
1060	}
1061	return ""
1062}
1063
1064func (m *LrsLoadBalancingPolicyConfig) GetLocality() *LrsLoadBalancingPolicyConfig_Locality {
1065	if m != nil {
1066		return m.Locality
1067	}
1068	return nil
1069}
1070
1071func (m *LrsLoadBalancingPolicyConfig) GetChildPolicy() []*LoadBalancingConfig {
1072	if m != nil {
1073		return m.ChildPolicy
1074	}
1075	return nil
1076}
1077
1078// The locality for which this policy will report load.  Required.
1079type LrsLoadBalancingPolicyConfig_Locality struct {
1080	Region               string   `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"`
1081	Zone                 string   `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
1082	Subzone              string   `protobuf:"bytes,3,opt,name=subzone,proto3" json:"subzone,omitempty"`
1083	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1084	XXX_unrecognized     []byte   `json:"-"`
1085	XXX_sizecache        int32    `json:"-"`
1086}
1087
1088func (m *LrsLoadBalancingPolicyConfig_Locality) Reset()         { *m = LrsLoadBalancingPolicyConfig_Locality{} }
1089func (m *LrsLoadBalancingPolicyConfig_Locality) String() string { return proto.CompactTextString(m) }
1090func (*LrsLoadBalancingPolicyConfig_Locality) ProtoMessage()    {}
1091func (*LrsLoadBalancingPolicyConfig_Locality) Descriptor() ([]byte, []int) {
1092	return fileDescriptor_e32d3cb2c41c77ce, []int{9, 0}
1093}
1094
1095func (m *LrsLoadBalancingPolicyConfig_Locality) XXX_Unmarshal(b []byte) error {
1096	return xxx_messageInfo_LrsLoadBalancingPolicyConfig_Locality.Unmarshal(m, b)
1097}
1098func (m *LrsLoadBalancingPolicyConfig_Locality) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1099	return xxx_messageInfo_LrsLoadBalancingPolicyConfig_Locality.Marshal(b, m, deterministic)
1100}
1101func (m *LrsLoadBalancingPolicyConfig_Locality) XXX_Merge(src proto.Message) {
1102	xxx_messageInfo_LrsLoadBalancingPolicyConfig_Locality.Merge(m, src)
1103}
1104func (m *LrsLoadBalancingPolicyConfig_Locality) XXX_Size() int {
1105	return xxx_messageInfo_LrsLoadBalancingPolicyConfig_Locality.Size(m)
1106}
1107func (m *LrsLoadBalancingPolicyConfig_Locality) XXX_DiscardUnknown() {
1108	xxx_messageInfo_LrsLoadBalancingPolicyConfig_Locality.DiscardUnknown(m)
1109}
1110
1111var xxx_messageInfo_LrsLoadBalancingPolicyConfig_Locality proto.InternalMessageInfo
1112
1113func (m *LrsLoadBalancingPolicyConfig_Locality) GetRegion() string {
1114	if m != nil {
1115		return m.Region
1116	}
1117	return ""
1118}
1119
1120func (m *LrsLoadBalancingPolicyConfig_Locality) GetZone() string {
1121	if m != nil {
1122		return m.Zone
1123	}
1124	return ""
1125}
1126
1127func (m *LrsLoadBalancingPolicyConfig_Locality) GetSubzone() string {
1128	if m != nil {
1129		return m.Subzone
1130	}
1131	return ""
1132}
1133
1134// Selects LB policy and provides corresponding configuration.
1135//
1136// In general, all instances of this field should be repeated. Clients will
1137// iterate through the list in order and stop at the first policy that they
1138// support.  This allows the service config to specify custom policies that may
1139// not be known to all clients.
1140//
1141// - If the config for the first supported policy is invalid, the whole service
1142//   config is invalid.
1143// - If the list doesn't contain any supported policy, the whole service config
1144//   is invalid.
1145type LoadBalancingConfig struct {
1146	// Exactly one LB policy may be configured.
1147	//
1148	// Types that are valid to be assigned to Policy:
1149	//	*LoadBalancingConfig_PickFirst
1150	//	*LoadBalancingConfig_RoundRobin
1151	//	*LoadBalancingConfig_Grpclb
1152	//	*LoadBalancingConfig_Priority
1153	//	*LoadBalancingConfig_WeightedTarget
1154	//	*LoadBalancingConfig_Cds
1155	//	*LoadBalancingConfig_Eds
1156	//	*LoadBalancingConfig_Lrs
1157	//	*LoadBalancingConfig_Xds
1158	//	*LoadBalancingConfig_XdsExperimental
1159	Policy               isLoadBalancingConfig_Policy `protobuf_oneof:"policy"`
1160	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
1161	XXX_unrecognized     []byte                       `json:"-"`
1162	XXX_sizecache        int32                        `json:"-"`
1163}
1164
1165func (m *LoadBalancingConfig) Reset()         { *m = LoadBalancingConfig{} }
1166func (m *LoadBalancingConfig) String() string { return proto.CompactTextString(m) }
1167func (*LoadBalancingConfig) ProtoMessage()    {}
1168func (*LoadBalancingConfig) Descriptor() ([]byte, []int) {
1169	return fileDescriptor_e32d3cb2c41c77ce, []int{10}
1170}
1171
1172func (m *LoadBalancingConfig) XXX_Unmarshal(b []byte) error {
1173	return xxx_messageInfo_LoadBalancingConfig.Unmarshal(m, b)
1174}
1175func (m *LoadBalancingConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1176	return xxx_messageInfo_LoadBalancingConfig.Marshal(b, m, deterministic)
1177}
1178func (m *LoadBalancingConfig) XXX_Merge(src proto.Message) {
1179	xxx_messageInfo_LoadBalancingConfig.Merge(m, src)
1180}
1181func (m *LoadBalancingConfig) XXX_Size() int {
1182	return xxx_messageInfo_LoadBalancingConfig.Size(m)
1183}
1184func (m *LoadBalancingConfig) XXX_DiscardUnknown() {
1185	xxx_messageInfo_LoadBalancingConfig.DiscardUnknown(m)
1186}
1187
1188var xxx_messageInfo_LoadBalancingConfig proto.InternalMessageInfo
1189
1190type isLoadBalancingConfig_Policy interface {
1191	isLoadBalancingConfig_Policy()
1192}
1193
1194type LoadBalancingConfig_PickFirst struct {
1195	PickFirst *PickFirstConfig `protobuf:"bytes,4,opt,name=pick_first,proto3,oneof"`
1196}
1197
1198type LoadBalancingConfig_RoundRobin struct {
1199	RoundRobin *RoundRobinConfig `protobuf:"bytes,1,opt,name=round_robin,proto3,oneof"`
1200}
1201
1202type LoadBalancingConfig_Grpclb struct {
1203	Grpclb *GrpcLbConfig `protobuf:"bytes,3,opt,name=grpclb,proto3,oneof"`
1204}
1205
1206type LoadBalancingConfig_Priority struct {
1207	Priority *PriorityLoadBalancingPolicyConfig `protobuf:"bytes,9,opt,name=priority,proto3,oneof"`
1208}
1209
1210type LoadBalancingConfig_WeightedTarget struct {
1211	WeightedTarget *WeightedTargetLoadBalancingPolicyConfig `protobuf:"bytes,10,opt,name=weighted_target,json=weightedTarget,proto3,oneof"`
1212}
1213
1214type LoadBalancingConfig_Cds struct {
1215	Cds *CdsConfig `protobuf:"bytes,6,opt,name=cds,proto3,oneof"`
1216}
1217
1218type LoadBalancingConfig_Eds struct {
1219	Eds *EdsLoadBalancingPolicyConfig `protobuf:"bytes,7,opt,name=eds,proto3,oneof"`
1220}
1221
1222type LoadBalancingConfig_Lrs struct {
1223	Lrs *LrsLoadBalancingPolicyConfig `protobuf:"bytes,8,opt,name=lrs,proto3,oneof"`
1224}
1225
1226type LoadBalancingConfig_Xds struct {
1227	Xds *XdsConfig `protobuf:"bytes,2,opt,name=xds,proto3,oneof"`
1228}
1229
1230type LoadBalancingConfig_XdsExperimental struct {
1231	XdsExperimental *XdsConfig `protobuf:"bytes,5,opt,name=xds_experimental,proto3,oneof"`
1232}
1233
1234func (*LoadBalancingConfig_PickFirst) isLoadBalancingConfig_Policy() {}
1235
1236func (*LoadBalancingConfig_RoundRobin) isLoadBalancingConfig_Policy() {}
1237
1238func (*LoadBalancingConfig_Grpclb) isLoadBalancingConfig_Policy() {}
1239
1240func (*LoadBalancingConfig_Priority) isLoadBalancingConfig_Policy() {}
1241
1242func (*LoadBalancingConfig_WeightedTarget) isLoadBalancingConfig_Policy() {}
1243
1244func (*LoadBalancingConfig_Cds) isLoadBalancingConfig_Policy() {}
1245
1246func (*LoadBalancingConfig_Eds) isLoadBalancingConfig_Policy() {}
1247
1248func (*LoadBalancingConfig_Lrs) isLoadBalancingConfig_Policy() {}
1249
1250func (*LoadBalancingConfig_Xds) isLoadBalancingConfig_Policy() {}
1251
1252func (*LoadBalancingConfig_XdsExperimental) isLoadBalancingConfig_Policy() {}
1253
1254func (m *LoadBalancingConfig) GetPolicy() isLoadBalancingConfig_Policy {
1255	if m != nil {
1256		return m.Policy
1257	}
1258	return nil
1259}
1260
1261func (m *LoadBalancingConfig) GetPickFirst() *PickFirstConfig {
1262	if x, ok := m.GetPolicy().(*LoadBalancingConfig_PickFirst); ok {
1263		return x.PickFirst
1264	}
1265	return nil
1266}
1267
1268func (m *LoadBalancingConfig) GetRoundRobin() *RoundRobinConfig {
1269	if x, ok := m.GetPolicy().(*LoadBalancingConfig_RoundRobin); ok {
1270		return x.RoundRobin
1271	}
1272	return nil
1273}
1274
1275func (m *LoadBalancingConfig) GetGrpclb() *GrpcLbConfig {
1276	if x, ok := m.GetPolicy().(*LoadBalancingConfig_Grpclb); ok {
1277		return x.Grpclb
1278	}
1279	return nil
1280}
1281
1282func (m *LoadBalancingConfig) GetPriority() *PriorityLoadBalancingPolicyConfig {
1283	if x, ok := m.GetPolicy().(*LoadBalancingConfig_Priority); ok {
1284		return x.Priority
1285	}
1286	return nil
1287}
1288
1289func (m *LoadBalancingConfig) GetWeightedTarget() *WeightedTargetLoadBalancingPolicyConfig {
1290	if x, ok := m.GetPolicy().(*LoadBalancingConfig_WeightedTarget); ok {
1291		return x.WeightedTarget
1292	}
1293	return nil
1294}
1295
1296func (m *LoadBalancingConfig) GetCds() *CdsConfig {
1297	if x, ok := m.GetPolicy().(*LoadBalancingConfig_Cds); ok {
1298		return x.Cds
1299	}
1300	return nil
1301}
1302
1303func (m *LoadBalancingConfig) GetEds() *EdsLoadBalancingPolicyConfig {
1304	if x, ok := m.GetPolicy().(*LoadBalancingConfig_Eds); ok {
1305		return x.Eds
1306	}
1307	return nil
1308}
1309
1310func (m *LoadBalancingConfig) GetLrs() *LrsLoadBalancingPolicyConfig {
1311	if x, ok := m.GetPolicy().(*LoadBalancingConfig_Lrs); ok {
1312		return x.Lrs
1313	}
1314	return nil
1315}
1316
1317// Deprecated: Do not use.
1318func (m *LoadBalancingConfig) GetXds() *XdsConfig {
1319	if x, ok := m.GetPolicy().(*LoadBalancingConfig_Xds); ok {
1320		return x.Xds
1321	}
1322	return nil
1323}
1324
1325// Deprecated: Do not use.
1326func (m *LoadBalancingConfig) GetXdsExperimental() *XdsConfig {
1327	if x, ok := m.GetPolicy().(*LoadBalancingConfig_XdsExperimental); ok {
1328		return x.XdsExperimental
1329	}
1330	return nil
1331}
1332
1333// XXX_OneofWrappers is for the internal use of the proto package.
1334func (*LoadBalancingConfig) XXX_OneofWrappers() []interface{} {
1335	return []interface{}{
1336		(*LoadBalancingConfig_PickFirst)(nil),
1337		(*LoadBalancingConfig_RoundRobin)(nil),
1338		(*LoadBalancingConfig_Grpclb)(nil),
1339		(*LoadBalancingConfig_Priority)(nil),
1340		(*LoadBalancingConfig_WeightedTarget)(nil),
1341		(*LoadBalancingConfig_Cds)(nil),
1342		(*LoadBalancingConfig_Eds)(nil),
1343		(*LoadBalancingConfig_Lrs)(nil),
1344		(*LoadBalancingConfig_Xds)(nil),
1345		(*LoadBalancingConfig_XdsExperimental)(nil),
1346	}
1347}
1348
1349// A ServiceConfig represents information about a service but is not specific to
1350// any name resolver.
1351type ServiceConfig struct {
1352	LoadBalancingPolicy ServiceConfig_LoadBalancingPolicy `protobuf:"varint,1,opt,name=load_balancing_policy,json=loadBalancingPolicy,proto3,enum=grpc.service_config.ServiceConfig_LoadBalancingPolicy" json:"load_balancing_policy,omitempty"` // Deprecated: Do not use.
1353	// Multiple LB policies can be specified; clients will iterate through
1354	// the list in order and stop at the first policy that they support. If none
1355	// are supported, the service config is considered invalid.
1356	LoadBalancingConfig []*LoadBalancingConfig `protobuf:"bytes,4,rep,name=load_balancing_config,json=loadBalancingConfig,proto3" json:"load_balancing_config,omitempty"`
1357	// Per-method configuration.
1358	MethodConfig         []*MethodConfig                      `protobuf:"bytes,2,rep,name=method_config,json=methodConfig,proto3" json:"method_config,omitempty"`
1359	RetryThrottling      *ServiceConfig_RetryThrottlingPolicy `protobuf:"bytes,3,opt,name=retry_throttling,json=retryThrottling,proto3" json:"retry_throttling,omitempty"`
1360	HealthCheckConfig    *ServiceConfig_HealthCheckConfig     `protobuf:"bytes,5,opt,name=health_check_config,json=healthCheckConfig,proto3" json:"health_check_config,omitempty"`
1361	XXX_NoUnkeyedLiteral struct{}                             `json:"-"`
1362	XXX_unrecognized     []byte                               `json:"-"`
1363	XXX_sizecache        int32                                `json:"-"`
1364}
1365
1366func (m *ServiceConfig) Reset()         { *m = ServiceConfig{} }
1367func (m *ServiceConfig) String() string { return proto.CompactTextString(m) }
1368func (*ServiceConfig) ProtoMessage()    {}
1369func (*ServiceConfig) Descriptor() ([]byte, []int) {
1370	return fileDescriptor_e32d3cb2c41c77ce, []int{11}
1371}
1372
1373func (m *ServiceConfig) XXX_Unmarshal(b []byte) error {
1374	return xxx_messageInfo_ServiceConfig.Unmarshal(m, b)
1375}
1376func (m *ServiceConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1377	return xxx_messageInfo_ServiceConfig.Marshal(b, m, deterministic)
1378}
1379func (m *ServiceConfig) XXX_Merge(src proto.Message) {
1380	xxx_messageInfo_ServiceConfig.Merge(m, src)
1381}
1382func (m *ServiceConfig) XXX_Size() int {
1383	return xxx_messageInfo_ServiceConfig.Size(m)
1384}
1385func (m *ServiceConfig) XXX_DiscardUnknown() {
1386	xxx_messageInfo_ServiceConfig.DiscardUnknown(m)
1387}
1388
1389var xxx_messageInfo_ServiceConfig proto.InternalMessageInfo
1390
1391// Deprecated: Do not use.
1392func (m *ServiceConfig) GetLoadBalancingPolicy() ServiceConfig_LoadBalancingPolicy {
1393	if m != nil {
1394		return m.LoadBalancingPolicy
1395	}
1396	return ServiceConfig_UNSPECIFIED
1397}
1398
1399func (m *ServiceConfig) GetLoadBalancingConfig() []*LoadBalancingConfig {
1400	if m != nil {
1401		return m.LoadBalancingConfig
1402	}
1403	return nil
1404}
1405
1406func (m *ServiceConfig) GetMethodConfig() []*MethodConfig {
1407	if m != nil {
1408		return m.MethodConfig
1409	}
1410	return nil
1411}
1412
1413func (m *ServiceConfig) GetRetryThrottling() *ServiceConfig_RetryThrottlingPolicy {
1414	if m != nil {
1415		return m.RetryThrottling
1416	}
1417	return nil
1418}
1419
1420func (m *ServiceConfig) GetHealthCheckConfig() *ServiceConfig_HealthCheckConfig {
1421	if m != nil {
1422		return m.HealthCheckConfig
1423	}
1424	return nil
1425}
1426
1427// If a RetryThrottlingPolicy is provided, gRPC will automatically throttle
1428// retry attempts and hedged RPCs when the client's ratio of failures to
1429// successes exceeds a threshold.
1430//
1431// For each server name, the gRPC client will maintain a token_count which is
1432// initially set to max_tokens. Every outgoing RPC (regardless of service or
1433// method invoked) will change token_count as follows:
1434//
1435//   - Every failed RPC will decrement the token_count by 1.
1436//   - Every successful RPC will increment the token_count by token_ratio.
1437//
1438// If token_count is less than or equal to max_tokens / 2, then RPCs will not
1439// be retried and hedged RPCs will not be sent.
1440type ServiceConfig_RetryThrottlingPolicy struct {
1441	// The number of tokens starts at max_tokens. The token_count will always be
1442	// between 0 and max_tokens.
1443	//
1444	// This field is required and must be greater than zero.
1445	MaxTokens uint32 `protobuf:"varint,1,opt,name=max_tokens,json=maxTokens,proto3" json:"max_tokens,omitempty"`
1446	// The amount of tokens to add on each successful RPC. Typically this will
1447	// be some number between 0 and 1, e.g., 0.1.
1448	//
1449	// This field is required and must be greater than zero. Up to 3 decimal
1450	// places are supported.
1451	TokenRatio           float32  `protobuf:"fixed32,2,opt,name=token_ratio,json=tokenRatio,proto3" json:"token_ratio,omitempty"`
1452	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1453	XXX_unrecognized     []byte   `json:"-"`
1454	XXX_sizecache        int32    `json:"-"`
1455}
1456
1457func (m *ServiceConfig_RetryThrottlingPolicy) Reset()         { *m = ServiceConfig_RetryThrottlingPolicy{} }
1458func (m *ServiceConfig_RetryThrottlingPolicy) String() string { return proto.CompactTextString(m) }
1459func (*ServiceConfig_RetryThrottlingPolicy) ProtoMessage()    {}
1460func (*ServiceConfig_RetryThrottlingPolicy) Descriptor() ([]byte, []int) {
1461	return fileDescriptor_e32d3cb2c41c77ce, []int{11, 0}
1462}
1463
1464func (m *ServiceConfig_RetryThrottlingPolicy) XXX_Unmarshal(b []byte) error {
1465	return xxx_messageInfo_ServiceConfig_RetryThrottlingPolicy.Unmarshal(m, b)
1466}
1467func (m *ServiceConfig_RetryThrottlingPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1468	return xxx_messageInfo_ServiceConfig_RetryThrottlingPolicy.Marshal(b, m, deterministic)
1469}
1470func (m *ServiceConfig_RetryThrottlingPolicy) XXX_Merge(src proto.Message) {
1471	xxx_messageInfo_ServiceConfig_RetryThrottlingPolicy.Merge(m, src)
1472}
1473func (m *ServiceConfig_RetryThrottlingPolicy) XXX_Size() int {
1474	return xxx_messageInfo_ServiceConfig_RetryThrottlingPolicy.Size(m)
1475}
1476func (m *ServiceConfig_RetryThrottlingPolicy) XXX_DiscardUnknown() {
1477	xxx_messageInfo_ServiceConfig_RetryThrottlingPolicy.DiscardUnknown(m)
1478}
1479
1480var xxx_messageInfo_ServiceConfig_RetryThrottlingPolicy proto.InternalMessageInfo
1481
1482func (m *ServiceConfig_RetryThrottlingPolicy) GetMaxTokens() uint32 {
1483	if m != nil {
1484		return m.MaxTokens
1485	}
1486	return 0
1487}
1488
1489func (m *ServiceConfig_RetryThrottlingPolicy) GetTokenRatio() float32 {
1490	if m != nil {
1491		return m.TokenRatio
1492	}
1493	return 0
1494}
1495
1496type ServiceConfig_HealthCheckConfig struct {
1497	// Service name to use in the health-checking request.
1498	ServiceName          *wrappers.StringValue `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
1499	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
1500	XXX_unrecognized     []byte                `json:"-"`
1501	XXX_sizecache        int32                 `json:"-"`
1502}
1503
1504func (m *ServiceConfig_HealthCheckConfig) Reset()         { *m = ServiceConfig_HealthCheckConfig{} }
1505func (m *ServiceConfig_HealthCheckConfig) String() string { return proto.CompactTextString(m) }
1506func (*ServiceConfig_HealthCheckConfig) ProtoMessage()    {}
1507func (*ServiceConfig_HealthCheckConfig) Descriptor() ([]byte, []int) {
1508	return fileDescriptor_e32d3cb2c41c77ce, []int{11, 1}
1509}
1510
1511func (m *ServiceConfig_HealthCheckConfig) XXX_Unmarshal(b []byte) error {
1512	return xxx_messageInfo_ServiceConfig_HealthCheckConfig.Unmarshal(m, b)
1513}
1514func (m *ServiceConfig_HealthCheckConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1515	return xxx_messageInfo_ServiceConfig_HealthCheckConfig.Marshal(b, m, deterministic)
1516}
1517func (m *ServiceConfig_HealthCheckConfig) XXX_Merge(src proto.Message) {
1518	xxx_messageInfo_ServiceConfig_HealthCheckConfig.Merge(m, src)
1519}
1520func (m *ServiceConfig_HealthCheckConfig) XXX_Size() int {
1521	return xxx_messageInfo_ServiceConfig_HealthCheckConfig.Size(m)
1522}
1523func (m *ServiceConfig_HealthCheckConfig) XXX_DiscardUnknown() {
1524	xxx_messageInfo_ServiceConfig_HealthCheckConfig.DiscardUnknown(m)
1525}
1526
1527var xxx_messageInfo_ServiceConfig_HealthCheckConfig proto.InternalMessageInfo
1528
1529func (m *ServiceConfig_HealthCheckConfig) GetServiceName() *wrappers.StringValue {
1530	if m != nil {
1531		return m.ServiceName
1532	}
1533	return nil
1534}
1535
1536func init() {
1537	proto.RegisterEnum("grpc.service_config.ServiceConfig_LoadBalancingPolicy", ServiceConfig_LoadBalancingPolicy_name, ServiceConfig_LoadBalancingPolicy_value)
1538	proto.RegisterType((*MethodConfig)(nil), "grpc.service_config.MethodConfig")
1539	proto.RegisterType((*MethodConfig_Name)(nil), "grpc.service_config.MethodConfig.Name")
1540	proto.RegisterType((*MethodConfig_RetryPolicy)(nil), "grpc.service_config.MethodConfig.RetryPolicy")
1541	proto.RegisterType((*MethodConfig_HedgingPolicy)(nil), "grpc.service_config.MethodConfig.HedgingPolicy")
1542	proto.RegisterType((*PickFirstConfig)(nil), "grpc.service_config.PickFirstConfig")
1543	proto.RegisterType((*RoundRobinConfig)(nil), "grpc.service_config.RoundRobinConfig")
1544	proto.RegisterType((*PriorityLoadBalancingPolicyConfig)(nil), "grpc.service_config.PriorityLoadBalancingPolicyConfig")
1545	proto.RegisterMapType((map[string]*PriorityLoadBalancingPolicyConfig_Child)(nil), "grpc.service_config.PriorityLoadBalancingPolicyConfig.ChildrenEntry")
1546	proto.RegisterType((*PriorityLoadBalancingPolicyConfig_Child)(nil), "grpc.service_config.PriorityLoadBalancingPolicyConfig.Child")
1547	proto.RegisterType((*WeightedTargetLoadBalancingPolicyConfig)(nil), "grpc.service_config.WeightedTargetLoadBalancingPolicyConfig")
1548	proto.RegisterMapType((map[string]*WeightedTargetLoadBalancingPolicyConfig_Target)(nil), "grpc.service_config.WeightedTargetLoadBalancingPolicyConfig.TargetsEntry")
1549	proto.RegisterType((*WeightedTargetLoadBalancingPolicyConfig_Target)(nil), "grpc.service_config.WeightedTargetLoadBalancingPolicyConfig.Target")
1550	proto.RegisterType((*GrpcLbConfig)(nil), "grpc.service_config.GrpcLbConfig")
1551	proto.RegisterType((*CdsConfig)(nil), "grpc.service_config.CdsConfig")
1552	proto.RegisterType((*XdsConfig)(nil), "grpc.service_config.XdsConfig")
1553	proto.RegisterType((*EdsLoadBalancingPolicyConfig)(nil), "grpc.service_config.EdsLoadBalancingPolicyConfig")
1554	proto.RegisterType((*LrsLoadBalancingPolicyConfig)(nil), "grpc.service_config.LrsLoadBalancingPolicyConfig")
1555	proto.RegisterType((*LrsLoadBalancingPolicyConfig_Locality)(nil), "grpc.service_config.LrsLoadBalancingPolicyConfig.Locality")
1556	proto.RegisterType((*LoadBalancingConfig)(nil), "grpc.service_config.LoadBalancingConfig")
1557	proto.RegisterType((*ServiceConfig)(nil), "grpc.service_config.ServiceConfig")
1558	proto.RegisterType((*ServiceConfig_RetryThrottlingPolicy)(nil), "grpc.service_config.ServiceConfig.RetryThrottlingPolicy")
1559	proto.RegisterType((*ServiceConfig_HealthCheckConfig)(nil), "grpc.service_config.ServiceConfig.HealthCheckConfig")
1560}
1561
1562func init() {
1563	proto.RegisterFile("grpc/service_config/service_config.proto", fileDescriptor_e32d3cb2c41c77ce)
1564}
1565
1566var fileDescriptor_e32d3cb2c41c77ce = []byte{
1567	// 1589 bytes of a gzipped FileDescriptorProto
1568	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x5b, 0x73, 0x1a, 0x47,
1569	0x16, 0x16, 0xa0, 0x1b, 0x07, 0x84, 0x50, 0x6b, 0x25, 0x61, 0xca, 0xab, 0x95, 0xa8, 0xf5, 0x9a,
1570	0x17, 0xa3, 0x5a, 0x79, 0xcb, 0xeb, 0xd2, 0x6e, 0xed, 0x3a, 0xe8, 0x12, 0x54, 0x91, 0x65, 0xd2,
1571	0x92, 0x6f, 0x55, 0xa9, 0x1a, 0x0d, 0x33, 0x0d, 0x4c, 0x69, 0x66, 0x9a, 0xf4, 0x34, 0x16, 0xe4,
1572	0x21, 0x79, 0xcd, 0x2f, 0x49, 0x7e, 0x43, 0xfe, 0x49, 0x9e, 0x52, 0x79, 0xcf, 0x3f, 0xc8, 0x43,
1573	0x2a, 0xd5, 0x97, 0x41, 0x0c, 0x8c, 0x10, 0xb2, 0xfc, 0xc6, 0x9c, 0xee, 0xef, 0x3b, 0xd7, 0x3e,
1574	0x7d, 0x1a, 0x28, 0xb7, 0x58, 0xc7, 0xda, 0x09, 0x08, 0xfb, 0xe0, 0x58, 0xc4, 0xb0, 0xa8, 0xdf,
1575	0x74, 0x5a, 0x23, 0x9f, 0x95, 0x0e, 0xa3, 0x9c, 0xa2, 0x55, 0xb1, 0xb3, 0x12, 0x5d, 0x2a, 0x6e,
1576	0xb6, 0x28, 0x6d, 0xb9, 0x64, 0x47, 0x6e, 0x69, 0x74, 0x9b, 0x3b, 0x76, 0x97, 0x99, 0xdc, 0xa1,
1577	0xbe, 0x02, 0x8d, 0xaf, 0x5f, 0x31, 0xb3, 0xd3, 0x21, 0x2c, 0xd0, 0xeb, 0x6b, 0x7a, 0x5d, 0x18,
1578	0x61, 0x51, 0x9b, 0x28, 0x71, 0xe9, 0x97, 0x45, 0xc8, 0xbe, 0x24, 0xbc, 0x4d, 0xed, 0x7d, 0xa9,
1579	0x07, 0xed, 0xc1, 0xac, 0x6f, 0x7a, 0xa4, 0x90, 0xd8, 0x4a, 0x95, 0x33, 0xbb, 0xff, 0xa8, 0xc4,
1580	0xd8, 0x52, 0x19, 0x06, 0x54, 0x4e, 0x4d, 0x8f, 0x60, 0x89, 0x41, 0x2f, 0x20, 0x77, 0x65, 0x3a,
1581	0xdc, 0x68, 0x52, 0x66, 0x30, 0x62, 0xda, 0xfd, 0x42, 0x72, 0x2b, 0x51, 0xce, 0xec, 0x16, 0x2b,
1582	0x4a, 0x79, 0x25, 0x34, 0xae, 0x52, 0xa5, 0xd4, 0x7d, 0x63, 0xba, 0x5d, 0x82, 0xb3, 0x02, 0x71,
1583	0x44, 0x19, 0x16, 0xfb, 0xd1, 0x53, 0x58, 0xe0, 0x8e, 0x47, 0x68, 0x97, 0x17, 0x52, 0x12, 0xfa,
1584	0x60, 0x0c, 0x7a, 0xa0, 0xfd, 0xc6, 0xe1, 0x4e, 0xf4, 0x16, 0x1e, 0x78, 0x66, 0xcf, 0x60, 0xe4,
1585	0xeb, 0x2e, 0x09, 0xb8, 0xe1, 0x91, 0x20, 0x30, 0x5b, 0xc4, 0x68, 0xf4, 0x39, 0x09, 0x0a, 0xb3,
1586	0x92, 0xe6, 0xe1, 0x18, 0xcd, 0xeb, 0x63, 0x9f, 0x3f, 0xdd, 0x55, 0x36, 0xac, 0x7b, 0x66, 0x0f,
1587	0x2b, 0xf4, 0x4b, 0x05, 0xae, 0x0a, 0x2c, 0x7a, 0x0f, 0x45, 0x45, 0x1c, 0x74, 0xa8, 0x1f, 0x90,
1588	0x11, 0xe6, 0xb9, 0x29, 0x98, 0x37, 0x24, 0xb3, 0x82, 0x47, 0xa8, 0x31, 0x64, 0x19, 0xe1, 0xac,
1589	0x6f, 0x74, 0xa8, 0xeb, 0x58, 0xfd, 0xc2, 0xbc, 0x24, 0x7b, 0x72, 0x7b, 0xb8, 0xb1, 0x40, 0xd5,
1590	0x25, 0xa8, 0x36, 0x83, 0x33, 0xec, 0xfa, 0x13, 0xbd, 0x83, 0x5c, 0x9b, 0xd8, 0x2d, 0xc7, 0x6f,
1591	0x85, 0xac, 0x0b, 0x92, 0x75, 0xe7, 0x76, 0xd6, 0x9a, 0xc2, 0x0d, 0x78, 0x97, 0xda, 0xc3, 0x82,
1592	0xe2, 0x73, 0x98, 0x15, 0x69, 0x46, 0x05, 0x58, 0xd0, 0x2c, 0x85, 0xc4, 0x56, 0xa2, 0x9c, 0xc6,
1593	0xe1, 0x27, 0x5a, 0x87, 0x79, 0x4f, 0x12, 0xca, 0x94, 0xa7, 0xb1, 0xfe, 0x2a, 0xfe, 0x98, 0x84,
1594	0xcc, 0x90, 0xc9, 0x68, 0x1b, 0xb2, 0x22, 0xa4, 0x26, 0xe7, 0xc4, 0xeb, 0xf0, 0x40, 0xd2, 0x2c,
1595	0xe1, 0x8c, 0x67, 0xf6, 0x3e, 0xd3, 0x22, 0x54, 0x85, 0x65, 0xc7, 0x77, 0xb8, 0x63, 0xba, 0x46,
1596	0xc3, 0xb4, 0x2e, 0x69, 0xb3, 0xa9, 0xcb, 0x68, 0x42, 0x2d, 0xe4, 0x34, 0xa2, 0xaa, 0x00, 0x68,
1597	0x0f, 0x04, 0xe5, 0x00, 0x7f, 0x6b, 0x2d, 0x81, 0x67, 0xf6, 0x42, 0xec, 0x13, 0x40, 0x1a, 0x67,
1598	0x78, 0x5d, 0x97, 0x3b, 0x1d, 0xd7, 0x21, 0x4c, 0xd6, 0x51, 0x12, 0xaf, 0xe8, 0x95, 0x97, 0x83,
1599	0x05, 0x74, 0x04, 0xeb, 0x32, 0x09, 0x66, 0xc3, 0x25, 0x46, 0xc0, 0x4d, 0xde, 0x0d, 0x0c, 0x71,
1600	0xc0, 0x44, 0x81, 0xa4, 0xca, 0xb9, 0xdd, 0x7c, 0xa8, 0x55, 0xe4, 0x60, 0x9f, 0xda, 0x04, 0xff,
1601	0x65, 0xb0, 0xff, 0x4c, 0x6e, 0x17, 0xc2, 0xa0, 0xf8, 0x53, 0x02, 0x96, 0x22, 0x69, 0x98, 0x26,
1602	0x56, 0xff, 0x83, 0x30, 0x53, 0x86, 0x4d, 0x5c, 0xb3, 0x7f, 0x7b, 0xa4, 0xb2, 0x7a, 0xff, 0x81,
1603	0xd8, 0x8e, 0x0e, 0x61, 0xdd, 0xa7, 0xbe, 0xd1, 0x34, 0xb9, 0xe9, 0x46, 0x8d, 0x4f, 0xdd, 0x60,
1604	0xfc, 0xaa, 0x4f, 0xfd, 0x23, 0xb1, 0x7d, 0xc8, 0xf6, 0xea, 0x03, 0xd8, 0x50, 0xd5, 0x4c, 0x99,
1605	0x11, 0x2d, 0xc1, 0xd2, 0x0a, 0x2c, 0xd7, 0x1d, 0xeb, 0xf2, 0xc8, 0x61, 0x01, 0x57, 0xc5, 0x56,
1606	0x42, 0x90, 0xc7, 0xb4, 0xeb, 0xdb, 0x98, 0x36, 0x1c, 0x5f, 0xcb, 0x7e, 0x4b, 0xc2, 0x76, 0x9d,
1607	0x39, 0x94, 0x39, 0xbc, 0x7f, 0x42, 0x4d, 0xbb, 0x6a, 0xba, 0xa6, 0x6f, 0x0d, 0x62, 0xa1, 0x9b,
1608	0xd3, 0x05, 0x2c, 0x5a, 0x6d, 0xc7, 0xb5, 0x19, 0xf1, 0x75, 0x83, 0x3a, 0x88, 0xad, 0xed, 0x5b,
1609	0x99, 0x2a, 0xfb, 0x9a, 0xe6, 0xd0, 0xe7, 0xac, 0x8f, 0x07, 0xac, 0x68, 0x13, 0xa0, 0xa3, 0xc0,
1610	0x0e, 0x09, 0x0a, 0xc9, 0xad, 0x54, 0x39, 0x8d, 0x87, 0x24, 0xc5, 0x63, 0x98, 0x93, 0x50, 0xf4,
1611	0x02, 0xe6, 0x95, 0x32, 0x6d, 0x48, 0x39, 0xd6, 0x90, 0x88, 0x01, 0x4a, 0x35, 0xd6, 0xb8, 0x62,
1612	0x1f, 0x96, 0x22, 0x56, 0xa0, 0x3c, 0xa4, 0x2e, 0x49, 0x5f, 0x9f, 0x2c, 0xf1, 0x13, 0x61, 0x98,
1613	0xfb, 0x20, 0xfa, 0x88, 0x4e, 0xeb, 0x7f, 0xef, 0xe3, 0x2c, 0x56, 0x54, 0x7b, 0xc9, 0xe7, 0x89,
1614	0xd2, 0x1f, 0x49, 0x78, 0xfc, 0x96, 0x38, 0xad, 0x36, 0x27, 0xf6, 0xb9, 0xc9, 0x5a, 0x84, 0xdf,
1615	0x1c, 0x73, 0x0b, 0x16, 0xb8, 0xdc, 0x12, 0x68, 0x4f, 0x8f, 0x63, 0xad, 0x98, 0x92, 0xae, 0xa2,
1616	0xd6, 0x03, 0x15, 0xf7, 0x90, 0xb9, 0xe8, 0xc1, 0xbc, 0x5a, 0x10, 0x8d, 0xe4, 0x4a, 0x52, 0xe9,
1617	0x72, 0xd7, 0x5f, 0xe8, 0x0b, 0xc8, 0xca, 0x24, 0x85, 0xad, 0x2d, 0x79, 0xc7, 0xa8, 0x67, 0x24,
1618	0x5a, 0xf7, 0xb3, 0xef, 0x20, 0x3b, 0x6c, 0x47, 0x4c, 0xe4, 0xdf, 0x47, 0x23, 0xbf, 0xff, 0x09,
1619	0x7c, 0x1e, 0x4e, 0xc0, 0xb7, 0x90, 0xfd, 0x9c, 0x75, 0xac, 0x93, 0x86, 0x0e, 0xf2, 0xa8, 0x77,
1620	0x89, 0x7b, 0x78, 0x27, 0xfa, 0x46, 0x08, 0x91, 0x57, 0xb9, 0xea, 0xc8, 0x19, 0x2d, 0x13, 0x8d,
1621	0xbc, 0xf4, 0x08, 0xd2, 0xfb, 0x76, 0xa0, 0x95, 0x17, 0x60, 0xc1, 0x72, 0xbb, 0x01, 0x27, 0x2c,
1622	0xec, 0xea, 0xfa, 0xb3, 0xf4, 0x6b, 0x12, 0xd2, 0xef, 0x06, 0xfb, 0x1e, 0xc3, 0x52, 0x43, 0xea,
1623	0x25, 0xcc, 0xd0, 0x33, 0x42, 0xa2, 0x9c, 0xae, 0x26, 0x0b, 0x09, 0x9c, 0x0d, 0x17, 0xe4, 0x35,
1624	0xf1, 0x29, 0x73, 0x85, 0xbe, 0x84, 0xe5, 0xa6, 0xe9, 0xba, 0xa2, 0xf1, 0x86, 0x7c, 0xa9, 0x3b,
1625	0xf2, 0xe5, 0x42, 0x02, 0x4d, 0x59, 0x86, 0x3c, 0xb1, 0x03, 0x23, 0x12, 0xa4, 0x59, 0xe9, 0x79,
1626	0x8e, 0xd8, 0xc1, 0xd9, 0x75, 0x9c, 0xd0, 0x05, 0x6c, 0xba, 0x2c, 0x30, 0x5c, 0x6a, 0xda, 0x06,
1627	0x23, 0x1d, 0xca, 0xb8, 0x68, 0x6d, 0x02, 0x18, 0xc6, 0xe0, 0xa6, 0x29, 0xe0, 0x8c, 0x33, 0xc7,
1628	0x6f, 0xa9, 0x29, 0xa0, 0xe8, 0xb2, 0x40, 0xd8, 0x85, 0x43, 0x86, 0x33, 0x49, 0x20, 0x33, 0xf1,
1629	0x7d, 0x0a, 0x1e, 0x1e, 0xda, 0xc1, 0xcd, 0xe7, 0xef, 0xc6, 0xec, 0xc4, 0xba, 0x91, 0xfc, 0x48,
1630	0x37, 0x52, 0xf7, 0x73, 0x03, 0x5d, 0xc0, 0x86, 0x4b, 0x2d, 0xd3, 0x75, 0x78, 0xdf, 0xe8, 0x38,
1631	0xd6, 0xe5, 0xd0, 0x10, 0x32, 0x7b, 0xc7, 0x6c, 0xad, 0x85, 0x44, 0x75, 0xc5, 0xa3, 0x93, 0x76,
1632	0x01, 0x1b, 0xc4, 0xb7, 0x3b, 0xd4, 0xf1, 0xf9, 0xa8, 0x86, 0xb9, 0xbb, 0x6a, 0x08, 0x89, 0x22,
1633	0x1a, 0x4a, 0x3f, 0xa4, 0xe0, 0xe1, 0x09, 0x9b, 0x90, 0x8a, 0x6d, 0xc8, 0xea, 0xd8, 0x0f, 0xd5,
1634	0x3f, 0xce, 0x68, 0x99, 0x8c, 0xc3, 0xf4, 0x39, 0xa9, 0x4e, 0x95, 0x93, 0xf4, 0xc4, 0xa8, 0xbf,
1635	0x81, 0xc5, 0x30, 0x58, 0x7a, 0xd0, 0xdd, 0x8b, 0x0f, 0xc2, 0x04, 0xaf, 0x2a, 0x27, 0x9a, 0x01,
1636	0x0f, 0xb8, 0xc6, 0x0e, 0xf0, 0xdc, 0x7d, 0x9a, 0x6d, 0x1d, 0x16, 0x43, 0x15, 0xa2, 0xbb, 0x33,
1637	0xd2, 0x72, 0xa8, 0xaf, 0x63, 0xa7, 0xbf, 0x10, 0x82, 0xd9, 0x6f, 0xa8, 0x1f, 0x86, 0x4a, 0xfe,
1638	0x96, 0xc3, 0x66, 0xb7, 0x21, 0xc5, 0x29, 0x3d, 0x6c, 0xaa, 0xcf, 0xd2, 0xef, 0x73, 0xb0, 0x1a,
1639	0xa3, 0x16, 0x1d, 0x01, 0x88, 0xca, 0x30, 0x9a, 0x62, 0xd8, 0xd0, 0x01, 0xf9, 0x7b, 0xfc, 0x9d,
1640	0x19, 0x1d, 0x49, 0x6a, 0x33, 0x78, 0x08, 0x89, 0x8e, 0x21, 0xc3, 0xc4, 0x80, 0x62, 0x30, 0x31,
1641	0xa1, 0x48, 0x53, 0x33, 0xbb, 0x8f, 0x62, 0x89, 0x46, 0x07, 0x19, 0x39, 0x93, 0x5f, 0x63, 0xd1,
1642	0x7f, 0x60, 0x5e, 0xc0, 0xdc, 0x86, 0x3e, 0x61, 0xdb, 0xb1, 0x2c, 0xc3, 0x77, 0x41, 0x6d, 0x06,
1643	0x6b, 0x08, 0x3a, 0x87, 0x45, 0x3d, 0x7a, 0xf4, 0x0b, 0x69, 0x09, 0x7f, 0xf6, 0x71, 0x13, 0x40,
1644	0x6d, 0x06, 0x0f, 0x98, 0x50, 0x0b, 0x96, 0xaf, 0xf4, 0xc5, 0x65, 0xa8, 0xfb, 0xb7, 0x00, 0x13,
1645	0xc6, 0x8b, 0x29, 0x2f, 0xb9, 0xda, 0x0c, 0xce, 0x5d, 0x45, 0xb6, 0xa2, 0x5d, 0x48, 0x59, 0x76,
1646	0xa0, 0x9f, 0x36, 0x9b, 0xb1, 0xe4, 0x83, 0x4b, 0xa8, 0x36, 0x83, 0xc5, 0x66, 0x74, 0x08, 0x29,
1647	0x62, 0x07, 0xfa, 0xe1, 0xf2, 0xcf, 0x58, 0xcc, 0xa4, 0x6e, 0x29, 0x68, 0x88, 0xa2, 0x71, 0x59,
1648	0x50, 0x58, 0x9c, 0x40, 0x33, 0xe9, 0x4c, 0x08, 0x1a, 0x97, 0x05, 0xe8, 0x19, 0xa4, 0x7a, 0x76,
1649	0xa0, 0x67, 0x80, 0x78, 0x0f, 0x06, 0xd7, 0xa3, 0xb8, 0x07, 0x05, 0xae, 0x67, 0x07, 0xa8, 0x0e,
1650	0xf9, 0x9e, 0x1d, 0x18, 0xa4, 0xd7, 0x21, 0xcc, 0xf1, 0x88, 0xcf, 0x4d, 0x57, 0x5f, 0x14, 0xd3,
1651	0x91, 0x8c, 0xa1, 0xab, 0x8b, 0x30, 0xaf, 0x07, 0xea, 0x9f, 0xe7, 0x60, 0x49, 0xf7, 0x11, 0x5d,
1652	0xf6, 0x3e, 0xac, 0xc9, 0x2e, 0xd2, 0x08, 0x5d, 0xb9, 0x9e, 0x22, 0x12, 0xe5, 0xdc, 0x0d, 0x35,
1653	0x13, 0xa1, 0xa8, 0xc4, 0x44, 0x42, 0xde, 0xeb, 0xab, 0xee, 0xf8, 0x02, 0xfa, 0x6a, 0x4c, 0x9f,
1654	0x9e, 0x84, 0xef, 0xda, 0xe9, 0xa3, 0xec, 0x83, 0x43, 0xbc, 0xa4, 0xde, 0x8e, 0x21, 0xab, 0x9a,
1655	0x1e, 0xb6, 0x6f, 0x7d, 0xc4, 0xe2, 0xac, 0x37, 0xfc, 0x47, 0x86, 0x05, 0x79, 0xf5, 0x26, 0xe1,
1656	0x6d, 0x46, 0x39, 0x77, 0x1d, 0xbf, 0xa5, 0xcf, 0xe0, 0xf3, 0x29, 0x02, 0x22, 0xdf, 0xac, 0xe7,
1657	0x03, 0xa4, 0xf2, 0x1c, 0x2f, 0xb3, 0xa8, 0x18, 0xd9, 0xb0, 0xda, 0x26, 0xa6, 0xcb, 0xdb, 0x86,
1658	0xd5, 0x26, 0xd6, 0x65, 0x68, 0xb2, 0xca, 0xf5, 0xbf, 0xa6, 0xd0, 0x53, 0x93, 0xe8, 0x7d, 0x01,
1659	0xd6, 0x5e, 0xac, 0xb4, 0x47, 0x45, 0xc5, 0xb7, 0xb0, 0x16, 0x6b, 0x0f, 0xfa, 0x2b, 0x88, 0x87,
1660	0xab, 0xc1, 0xe9, 0x25, 0xf1, 0xc3, 0xf7, 0x61, 0xda, 0x33, 0x7b, 0xe7, 0x52, 0x80, 0xfe, 0x06,
1661	0x19, 0xb9, 0x64, 0xc8, 0xb7, 0x9f, 0x2c, 0xe3, 0x24, 0x06, 0x29, 0xc2, 0x42, 0x52, 0x3c, 0x87,
1662	0x95, 0x31, 0x03, 0xd0, 0xff, 0x47, 0xc6, 0xc7, 0xc4, 0x14, 0xa3, 0x41, 0x64, 0xb8, 0xfc, 0xf7,
1663	0x48, 0x77, 0xd6, 0xc6, 0x2e, 0x43, 0xe6, 0xf5, 0xe9, 0x59, 0xfd, 0x70, 0xff, 0xf8, 0xe8, 0xf8,
1664	0xf0, 0x20, 0x3f, 0x23, 0x04, 0xf8, 0xd5, 0xeb, 0xd3, 0x03, 0x03, 0xbf, 0xaa, 0x1e, 0x9f, 0xe6,
1665	0x13, 0xd5, 0x27, 0xb0, 0xe6, 0xd0, 0x48, 0xd0, 0x54, 0xcc, 0xaa, 0x28, 0x12, 0xb4, 0xba, 0xb0,
1666	0xa0, 0x9e, 0x68, 0xcc, 0x4b, 0x53, 0x9e, 0xfe, 0x19, 0x00, 0x00, 0xff, 0xff, 0xae, 0xd3, 0x19,
1667	0x42, 0x5a, 0x13, 0x00, 0x00,
1668}
1669