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