1// Code generated by protoc-gen-gogo. DO NOT EDIT. 2// source: envoy/api/v2/cds.proto 3 4package v2 5 6import proto "github.com/gogo/protobuf/proto" 7import fmt "fmt" 8import math "math" 9import auth "github.com/envoyproxy/go-control-plane/envoy/api/v2/auth" 10import cluster "github.com/envoyproxy/go-control-plane/envoy/api/v2/cluster" 11import core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" 12import _type "github.com/envoyproxy/go-control-plane/envoy/type" 13import _ "github.com/gogo/googleapis/google/api" 14import _ "github.com/gogo/protobuf/gogoproto" 15import types "github.com/gogo/protobuf/types" 16import _ "github.com/lyft/protoc-gen-validate/validate" 17 18import time "time" 19 20import bytes "bytes" 21 22import context "golang.org/x/net/context" 23import grpc "google.golang.org/grpc" 24 25import github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" 26 27import io "io" 28 29// Reference imports to suppress errors if they are not otherwise used. 30var _ = proto.Marshal 31var _ = fmt.Errorf 32var _ = math.Inf 33var _ = time.Kitchen 34 35// This is a compile-time assertion to ensure that this generated file 36// is compatible with the proto package it is being compiled against. 37// A compilation error at this line likely means your copy of the 38// proto package needs to be updated. 39const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package 40 41// Refer to :ref:`service discovery type <arch_overview_service_discovery_types>` 42// for an explanation on each type. 43type Cluster_DiscoveryType int32 44 45const ( 46 // Refer to the :ref:`static discovery type<arch_overview_service_discovery_types_static>` 47 // for an explanation. 48 Cluster_STATIC Cluster_DiscoveryType = 0 49 // Refer to the :ref:`strict DNS discovery 50 // type<arch_overview_service_discovery_types_strict_dns>` 51 // for an explanation. 52 Cluster_STRICT_DNS Cluster_DiscoveryType = 1 53 // Refer to the :ref:`logical DNS discovery 54 // type<arch_overview_service_discovery_types_logical_dns>` 55 // for an explanation. 56 Cluster_LOGICAL_DNS Cluster_DiscoveryType = 2 57 // Refer to the :ref:`service discovery type<arch_overview_service_discovery_types_sds>` 58 // for an explanation. 59 Cluster_EDS Cluster_DiscoveryType = 3 60 // Refer to the :ref:`original destination discovery 61 // type<arch_overview_service_discovery_types_original_destination>` 62 // for an explanation. 63 Cluster_ORIGINAL_DST Cluster_DiscoveryType = 4 64) 65 66var Cluster_DiscoveryType_name = map[int32]string{ 67 0: "STATIC", 68 1: "STRICT_DNS", 69 2: "LOGICAL_DNS", 70 3: "EDS", 71 4: "ORIGINAL_DST", 72} 73var Cluster_DiscoveryType_value = map[string]int32{ 74 "STATIC": 0, 75 "STRICT_DNS": 1, 76 "LOGICAL_DNS": 2, 77 "EDS": 3, 78 "ORIGINAL_DST": 4, 79} 80 81func (x Cluster_DiscoveryType) String() string { 82 return proto.EnumName(Cluster_DiscoveryType_name, int32(x)) 83} 84func (Cluster_DiscoveryType) EnumDescriptor() ([]byte, []int) { 85 return fileDescriptor_cds_c9aad078b729c273, []int{0, 0} 86} 87 88// Refer to :ref:`load balancer type <arch_overview_load_balancing_types>` architecture 89// overview section for information on each type. 90type Cluster_LbPolicy int32 91 92const ( 93 // Refer to the :ref:`round robin load balancing 94 // policy<arch_overview_load_balancing_types_round_robin>` 95 // for an explanation. 96 Cluster_ROUND_ROBIN Cluster_LbPolicy = 0 97 // Refer to the :ref:`least request load balancing 98 // policy<arch_overview_load_balancing_types_least_request>` 99 // for an explanation. 100 Cluster_LEAST_REQUEST Cluster_LbPolicy = 1 101 // Refer to the :ref:`ring hash load balancing 102 // policy<arch_overview_load_balancing_types_ring_hash>` 103 // for an explanation. 104 Cluster_RING_HASH Cluster_LbPolicy = 2 105 // Refer to the :ref:`random load balancing 106 // policy<arch_overview_load_balancing_types_random>` 107 // for an explanation. 108 Cluster_RANDOM Cluster_LbPolicy = 3 109 // Refer to the :ref:`original destination load balancing 110 // policy<arch_overview_load_balancing_types_original_destination>` 111 // for an explanation. 112 Cluster_ORIGINAL_DST_LB Cluster_LbPolicy = 4 113 // Refer to the :ref:`Maglev load balancing policy<arch_overview_load_balancing_types_maglev>` 114 // for an explanation. 115 Cluster_MAGLEV Cluster_LbPolicy = 5 116) 117 118var Cluster_LbPolicy_name = map[int32]string{ 119 0: "ROUND_ROBIN", 120 1: "LEAST_REQUEST", 121 2: "RING_HASH", 122 3: "RANDOM", 123 4: "ORIGINAL_DST_LB", 124 5: "MAGLEV", 125} 126var Cluster_LbPolicy_value = map[string]int32{ 127 "ROUND_ROBIN": 0, 128 "LEAST_REQUEST": 1, 129 "RING_HASH": 2, 130 "RANDOM": 3, 131 "ORIGINAL_DST_LB": 4, 132 "MAGLEV": 5, 133} 134 135func (x Cluster_LbPolicy) String() string { 136 return proto.EnumName(Cluster_LbPolicy_name, int32(x)) 137} 138func (Cluster_LbPolicy) EnumDescriptor() ([]byte, []int) { 139 return fileDescriptor_cds_c9aad078b729c273, []int{0, 1} 140} 141 142// When V4_ONLY is selected, the DNS resolver will only perform a lookup for 143// addresses in the IPv4 family. If V6_ONLY is selected, the DNS resolver will 144// only perform a lookup for addresses in the IPv6 family. If AUTO is 145// specified, the DNS resolver will first perform a lookup for addresses in 146// the IPv6 family and fallback to a lookup for addresses in the IPv4 family. 147// For cluster types other than 148// :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>` and 149// :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`, 150// this setting is 151// ignored. 152type Cluster_DnsLookupFamily int32 153 154const ( 155 Cluster_AUTO Cluster_DnsLookupFamily = 0 156 Cluster_V4_ONLY Cluster_DnsLookupFamily = 1 157 Cluster_V6_ONLY Cluster_DnsLookupFamily = 2 158) 159 160var Cluster_DnsLookupFamily_name = map[int32]string{ 161 0: "AUTO", 162 1: "V4_ONLY", 163 2: "V6_ONLY", 164} 165var Cluster_DnsLookupFamily_value = map[string]int32{ 166 "AUTO": 0, 167 "V4_ONLY": 1, 168 "V6_ONLY": 2, 169} 170 171func (x Cluster_DnsLookupFamily) String() string { 172 return proto.EnumName(Cluster_DnsLookupFamily_name, int32(x)) 173} 174func (Cluster_DnsLookupFamily) EnumDescriptor() ([]byte, []int) { 175 return fileDescriptor_cds_c9aad078b729c273, []int{0, 2} 176} 177 178type Cluster_ClusterProtocolSelection int32 179 180const ( 181 // Cluster can only operate on one of the possible upstream protocols (HTTP1.1, HTTP2). 182 // If :ref:`http2_protocol_options <envoy_api_field_Cluster.http2_protocol_options>` are 183 // present, HTTP2 will be used, otherwise HTTP1.1 will be used. 184 Cluster_USE_CONFIGURED_PROTOCOL Cluster_ClusterProtocolSelection = 0 185 // Use HTTP1.1 or HTTP2, depending on which one is used on the downstream connection. 186 Cluster_USE_DOWNSTREAM_PROTOCOL Cluster_ClusterProtocolSelection = 1 187) 188 189var Cluster_ClusterProtocolSelection_name = map[int32]string{ 190 0: "USE_CONFIGURED_PROTOCOL", 191 1: "USE_DOWNSTREAM_PROTOCOL", 192} 193var Cluster_ClusterProtocolSelection_value = map[string]int32{ 194 "USE_CONFIGURED_PROTOCOL": 0, 195 "USE_DOWNSTREAM_PROTOCOL": 1, 196} 197 198func (x Cluster_ClusterProtocolSelection) String() string { 199 return proto.EnumName(Cluster_ClusterProtocolSelection_name, int32(x)) 200} 201func (Cluster_ClusterProtocolSelection) EnumDescriptor() ([]byte, []int) { 202 return fileDescriptor_cds_c9aad078b729c273, []int{0, 3} 203} 204 205// If NO_FALLBACK is selected, a result 206// equivalent to no healthy hosts is reported. If ANY_ENDPOINT is selected, 207// any cluster endpoint may be returned (subject to policy, health checks, 208// etc). If DEFAULT_SUBSET is selected, load balancing is performed over the 209// endpoints matching the values from the default_subset field. 210type Cluster_LbSubsetConfig_LbSubsetFallbackPolicy int32 211 212const ( 213 Cluster_LbSubsetConfig_NO_FALLBACK Cluster_LbSubsetConfig_LbSubsetFallbackPolicy = 0 214 Cluster_LbSubsetConfig_ANY_ENDPOINT Cluster_LbSubsetConfig_LbSubsetFallbackPolicy = 1 215 Cluster_LbSubsetConfig_DEFAULT_SUBSET Cluster_LbSubsetConfig_LbSubsetFallbackPolicy = 2 216) 217 218var Cluster_LbSubsetConfig_LbSubsetFallbackPolicy_name = map[int32]string{ 219 0: "NO_FALLBACK", 220 1: "ANY_ENDPOINT", 221 2: "DEFAULT_SUBSET", 222} 223var Cluster_LbSubsetConfig_LbSubsetFallbackPolicy_value = map[string]int32{ 224 "NO_FALLBACK": 0, 225 "ANY_ENDPOINT": 1, 226 "DEFAULT_SUBSET": 2, 227} 228 229func (x Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) String() string { 230 return proto.EnumName(Cluster_LbSubsetConfig_LbSubsetFallbackPolicy_name, int32(x)) 231} 232func (Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) EnumDescriptor() ([]byte, []int) { 233 return fileDescriptor_cds_c9aad078b729c273, []int{0, 2, 0} 234} 235 236// Configuration for a single upstream cluster. 237// [#comment:next free field: 36] 238type Cluster struct { 239 // Supplies the name of the cluster which must be unique across all clusters. 240 // The cluster name is used when emitting 241 // :ref:`statistics <config_cluster_manager_cluster_stats>` if :ref:`alt_stat_name 242 // <envoy_api_field_Cluster.alt_stat_name>` is not provided. 243 // Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics. 244 // By default, the maximum length of a cluster name is limited to 60 245 // characters. This limit can be increased by setting the 246 // :option:`--max-obj-name-len` command line argument to the desired value. 247 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 248 // An optional alternative to the cluster name to be used while emitting stats. 249 // Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be 250 // confused with :ref:`Router Filter Header 251 // <config_http_filters_router_x-envoy-upstream-alt-stat-name>`. 252 AltStatName string `protobuf:"bytes,28,opt,name=alt_stat_name,json=altStatName,proto3" json:"alt_stat_name,omitempty"` 253 // The :ref:`service discovery type <arch_overview_service_discovery_types>` 254 // to use for resolving the cluster. 255 Type Cluster_DiscoveryType `protobuf:"varint,2,opt,name=type,proto3,enum=envoy.api.v2.Cluster_DiscoveryType" json:"type,omitempty"` 256 // Configuration to use for EDS updates for the Cluster. 257 EdsClusterConfig *Cluster_EdsClusterConfig `protobuf:"bytes,3,opt,name=eds_cluster_config,json=edsClusterConfig" json:"eds_cluster_config,omitempty"` 258 // The timeout for new network connections to hosts in the cluster. 259 ConnectTimeout time.Duration `protobuf:"bytes,4,opt,name=connect_timeout,json=connectTimeout,stdduration" json:"connect_timeout"` 260 // Soft limit on size of the cluster’s connections read and write buffers. If 261 // unspecified, an implementation defined default is applied (1MiB). 262 PerConnectionBufferLimitBytes *types.UInt32Value `protobuf:"bytes,5,opt,name=per_connection_buffer_limit_bytes,json=perConnectionBufferLimitBytes" json:"per_connection_buffer_limit_bytes,omitempty"` 263 // The :ref:`load balancer type <arch_overview_load_balancing_types>` to use 264 // when picking a host in the cluster. 265 LbPolicy Cluster_LbPolicy `protobuf:"varint,6,opt,name=lb_policy,json=lbPolicy,proto3,enum=envoy.api.v2.Cluster_LbPolicy" json:"lb_policy,omitempty"` 266 // If the service discovery type is 267 // :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`, 268 // :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>` 269 // or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`, 270 // then hosts is required. 271 // 272 // .. attention:: 273 // 274 // **This field is deprecated**. Set the 275 // :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead. 276 // 277 Hosts []*core.Address `protobuf:"bytes,7,rep,name=hosts" json:"hosts,omitempty"` // Deprecated: Do not use. 278 // Setting this is required for specifying members of 279 // :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`, 280 // :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>` 281 // or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` clusters. 282 // This field supersedes :ref:`hosts<envoy_api_field_Cluster.hosts>` field. 283 // [#comment:TODO(dio): Deprecate the hosts field and add it to DEPRECATED.md 284 // once load_assignment is implemented.] 285 // 286 // .. attention:: 287 // 288 // Setting this allows non-EDS cluster types to contain embedded EDS equivalent 289 // :ref:`endpoint assignments<envoy_api_msg_ClusterLoadAssignment>`. 290 // Setting this overrides :ref:`hosts<envoy_api_field_Cluster.hosts>` values. 291 // 292 LoadAssignment *ClusterLoadAssignment `protobuf:"bytes,33,opt,name=load_assignment,json=loadAssignment" json:"load_assignment,omitempty"` 293 // Optional :ref:`active health checking <arch_overview_health_checking>` 294 // configuration for the cluster. If no 295 // configuration is specified no health checking will be done and all cluster 296 // members will be considered healthy at all times. 297 HealthChecks []*core.HealthCheck `protobuf:"bytes,8,rep,name=health_checks,json=healthChecks" json:"health_checks,omitempty"` 298 // Optional maximum requests for a single upstream connection. This parameter 299 // is respected by both the HTTP/1.1 and HTTP/2 connection pool 300 // implementations. If not specified, there is no limit. Setting this 301 // parameter to 1 will effectively disable keep alive. 302 MaxRequestsPerConnection *types.UInt32Value `protobuf:"bytes,9,opt,name=max_requests_per_connection,json=maxRequestsPerConnection" json:"max_requests_per_connection,omitempty"` 303 // Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster. 304 CircuitBreakers *cluster.CircuitBreakers `protobuf:"bytes,10,opt,name=circuit_breakers,json=circuitBreakers" json:"circuit_breakers,omitempty"` 305 // The TLS configuration for connections to the upstream cluster. If no TLS 306 // configuration is specified, TLS will not be used for new connections. 307 // 308 // .. attention:: 309 // 310 // Server certificate verification is not enabled by default. Configure 311 // :ref:`trusted_ca<envoy_api_field_auth.CertificateValidationContext.trusted_ca>` to enable 312 // verification. 313 TlsContext *auth.UpstreamTlsContext `protobuf:"bytes,11,opt,name=tls_context,json=tlsContext" json:"tls_context,omitempty"` 314 // Additional options when handling HTTP requests. These options will be applicable to both 315 // HTTP1 and HTTP2 requests. 316 CommonHttpProtocolOptions *core.HttpProtocolOptions `protobuf:"bytes,29,opt,name=common_http_protocol_options,json=commonHttpProtocolOptions" json:"common_http_protocol_options,omitempty"` 317 // Additional options when handling HTTP1 requests. 318 HttpProtocolOptions *core.Http1ProtocolOptions `protobuf:"bytes,13,opt,name=http_protocol_options,json=httpProtocolOptions" json:"http_protocol_options,omitempty"` 319 // Even if default HTTP2 protocol options are desired, this field must be 320 // set so that Envoy will assume that the upstream supports HTTP/2 when 321 // making new HTTP connection pool connections. Currently, Envoy only 322 // supports prior knowledge for upstream connections. Even if TLS is used 323 // with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2 324 // connections to happen over plain text. 325 Http2ProtocolOptions *core.Http2ProtocolOptions `protobuf:"bytes,14,opt,name=http2_protocol_options,json=http2ProtocolOptions" json:"http2_protocol_options,omitempty"` 326 // The extension_protocol_options field is used to provide extension-specific protocol options 327 // for upstream connections. The key should match the extension filter name, such as 328 // "envoy.filters.network.thrift_proxy". See the extension's documentation for details on 329 // specific options. 330 ExtensionProtocolOptions map[string]*types.Struct `protobuf:"bytes,35,rep,name=extension_protocol_options,json=extensionProtocolOptions" json:"extension_protocol_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` 331 // If the DNS refresh rate is specified and the cluster type is either 332 // :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`, 333 // or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`, 334 // this value is used as the cluster’s DNS refresh 335 // rate. If this setting is not specified, the value defaults to 5000. For 336 // cluster types other than 337 // :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>` 338 // and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` 339 // this setting is ignored. 340 DnsRefreshRate *time.Duration `protobuf:"bytes,16,opt,name=dns_refresh_rate,json=dnsRefreshRate,stdduration" json:"dns_refresh_rate,omitempty"` 341 // The DNS IP address resolution policy. If this setting is not specified, the 342 // value defaults to 343 // :ref:`AUTO<envoy_api_enum_value_Cluster.DnsLookupFamily.AUTO>`. 344 DnsLookupFamily Cluster_DnsLookupFamily `protobuf:"varint,17,opt,name=dns_lookup_family,json=dnsLookupFamily,proto3,enum=envoy.api.v2.Cluster_DnsLookupFamily" json:"dns_lookup_family,omitempty"` 345 // If DNS resolvers are specified and the cluster type is either 346 // :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`, 347 // or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`, 348 // this value is used to specify the cluster’s dns resolvers. 349 // If this setting is not specified, the value defaults to the default 350 // resolver, which uses /etc/resolv.conf for configuration. For cluster types 351 // other than 352 // :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>` 353 // and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` 354 // this setting is ignored. 355 DnsResolvers []*core.Address `protobuf:"bytes,18,rep,name=dns_resolvers,json=dnsResolvers" json:"dns_resolvers,omitempty"` 356 // If specified, outlier detection will be enabled for this upstream cluster. 357 // Each of the configuration values can be overridden via 358 // :ref:`runtime values <config_cluster_manager_cluster_runtime_outlier_detection>`. 359 OutlierDetection *cluster.OutlierDetection `protobuf:"bytes,19,opt,name=outlier_detection,json=outlierDetection" json:"outlier_detection,omitempty"` 360 // The interval for removing stale hosts from a cluster type 361 // :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`. 362 // Hosts are considered stale if they have not been used 363 // as upstream destinations during this interval. New hosts are added 364 // to original destination clusters on demand as new connections are 365 // redirected to Envoy, causing the number of hosts in the cluster to 366 // grow over time. Hosts that are not stale (they are actively used as 367 // destinations) are kept in the cluster, which allows connections to 368 // them remain open, saving the latency that would otherwise be spent 369 // on opening new connections. If this setting is not specified, the 370 // value defaults to 5000ms. For cluster types other than 371 // :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>` 372 // this setting is ignored. 373 CleanupInterval *time.Duration `protobuf:"bytes,20,opt,name=cleanup_interval,json=cleanupInterval,stdduration" json:"cleanup_interval,omitempty"` 374 // Optional configuration used to bind newly established upstream connections. 375 // This overrides any bind_config specified in the bootstrap proto. 376 // If the address and port are empty, no bind will be performed. 377 UpstreamBindConfig *core.BindConfig `protobuf:"bytes,21,opt,name=upstream_bind_config,json=upstreamBindConfig" json:"upstream_bind_config,omitempty"` 378 // Configuration for load balancing subsetting. 379 LbSubsetConfig *Cluster_LbSubsetConfig `protobuf:"bytes,22,opt,name=lb_subset_config,json=lbSubsetConfig" json:"lb_subset_config,omitempty"` 380 // Optional configuration for the load balancing algorithm selected by 381 // LbPolicy. Currently only 382 // :ref:`RING_HASH<envoy_api_enum_value_Cluster.LbPolicy.RING_HASH>` 383 // has additional configuration options. 384 // Specifying ring_hash_lb_config without setting the LbPolicy to 385 // :ref:`RING_HASH<envoy_api_enum_value_Cluster.LbPolicy.RING_HASH>` 386 // will generate an error at runtime. 387 // 388 // Types that are valid to be assigned to LbConfig: 389 // *Cluster_RingHashLbConfig_ 390 // *Cluster_OriginalDstLbConfig_ 391 LbConfig isCluster_LbConfig `protobuf_oneof:"lb_config"` 392 // Common configuration for all load balancer implementations. 393 CommonLbConfig *Cluster_CommonLbConfig `protobuf:"bytes,27,opt,name=common_lb_config,json=commonLbConfig" json:"common_lb_config,omitempty"` 394 // Optional custom transport socket implementation to use for upstream connections. 395 TransportSocket *core.TransportSocket `protobuf:"bytes,24,opt,name=transport_socket,json=transportSocket" json:"transport_socket,omitempty"` 396 // The Metadata field can be used to provide additional information about the 397 // cluster. It can be used for stats, logging, and varying filter behavior. 398 // Fields should use reverse DNS notation to denote which entity within Envoy 399 // will need the information. For instance, if the metadata is intended for 400 // the Router filter, the filter name should be specified as *envoy.router*. 401 Metadata *core.Metadata `protobuf:"bytes,25,opt,name=metadata" json:"metadata,omitempty"` 402 // Determines how Envoy selects the protocol used to speak to upstream hosts. 403 ProtocolSelection Cluster_ClusterProtocolSelection `protobuf:"varint,26,opt,name=protocol_selection,json=protocolSelection,proto3,enum=envoy.api.v2.Cluster_ClusterProtocolSelection" json:"protocol_selection,omitempty"` 404 // Optional options for upstream connections. 405 UpstreamConnectionOptions *UpstreamConnectionOptions `protobuf:"bytes,30,opt,name=upstream_connection_options,json=upstreamConnectionOptions" json:"upstream_connection_options,omitempty"` 406 // If an upstream host becomes unhealthy (as determined by the configured health checks 407 // or outlier detection), immediately close all connections to the failed host. 408 // 409 // .. note:: 410 // 411 // This is currently only supported for connections created by tcp_proxy. 412 // 413 // .. note:: 414 // 415 // The current implementation of this feature closes all connections immediately when 416 // the unhealthy status is detected. If there are a large number of connections open 417 // to an upstream host that becomes unhealthy, Envoy may spend a substantial amount of 418 // time exclusively closing these connections, and not processing any other traffic. 419 CloseConnectionsOnHostHealthFailure bool `protobuf:"varint,31,opt,name=close_connections_on_host_health_failure,json=closeConnectionsOnHostHealthFailure,proto3" json:"close_connections_on_host_health_failure,omitempty"` 420 // If this cluster uses EDS or STRICT_DNS to configure its hosts, immediately drain 421 // connections from any hosts that are removed from service discovery. 422 // 423 // This only affects behavior for hosts that are being actively health checked. 424 // If this flag is not set to true, Envoy will wait until the hosts fail active health 425 // checking before removing it from the cluster. 426 DrainConnectionsOnHostRemoval bool `protobuf:"varint,32,opt,name=drain_connections_on_host_removal,json=drainConnectionsOnHostRemoval,proto3" json:"drain_connections_on_host_removal,omitempty"` 427 XXX_NoUnkeyedLiteral struct{} `json:"-"` 428 XXX_unrecognized []byte `json:"-"` 429 XXX_sizecache int32 `json:"-"` 430} 431 432func (m *Cluster) Reset() { *m = Cluster{} } 433func (m *Cluster) String() string { return proto.CompactTextString(m) } 434func (*Cluster) ProtoMessage() {} 435func (*Cluster) Descriptor() ([]byte, []int) { 436 return fileDescriptor_cds_c9aad078b729c273, []int{0} 437} 438func (m *Cluster) XXX_Unmarshal(b []byte) error { 439 return m.Unmarshal(b) 440} 441func (m *Cluster) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 442 if deterministic { 443 return xxx_messageInfo_Cluster.Marshal(b, m, deterministic) 444 } else { 445 b = b[:cap(b)] 446 n, err := m.MarshalTo(b) 447 if err != nil { 448 return nil, err 449 } 450 return b[:n], nil 451 } 452} 453func (dst *Cluster) XXX_Merge(src proto.Message) { 454 xxx_messageInfo_Cluster.Merge(dst, src) 455} 456func (m *Cluster) XXX_Size() int { 457 return m.Size() 458} 459func (m *Cluster) XXX_DiscardUnknown() { 460 xxx_messageInfo_Cluster.DiscardUnknown(m) 461} 462 463var xxx_messageInfo_Cluster proto.InternalMessageInfo 464 465type isCluster_LbConfig interface { 466 isCluster_LbConfig() 467 Equal(interface{}) bool 468 MarshalTo([]byte) (int, error) 469 Size() int 470} 471 472type Cluster_RingHashLbConfig_ struct { 473 RingHashLbConfig *Cluster_RingHashLbConfig `protobuf:"bytes,23,opt,name=ring_hash_lb_config,json=ringHashLbConfig,oneof"` 474} 475type Cluster_OriginalDstLbConfig_ struct { 476 OriginalDstLbConfig *Cluster_OriginalDstLbConfig `protobuf:"bytes,34,opt,name=original_dst_lb_config,json=originalDstLbConfig,oneof"` 477} 478 479func (*Cluster_RingHashLbConfig_) isCluster_LbConfig() {} 480func (*Cluster_OriginalDstLbConfig_) isCluster_LbConfig() {} 481 482func (m *Cluster) GetLbConfig() isCluster_LbConfig { 483 if m != nil { 484 return m.LbConfig 485 } 486 return nil 487} 488 489func (m *Cluster) GetName() string { 490 if m != nil { 491 return m.Name 492 } 493 return "" 494} 495 496func (m *Cluster) GetAltStatName() string { 497 if m != nil { 498 return m.AltStatName 499 } 500 return "" 501} 502 503func (m *Cluster) GetType() Cluster_DiscoveryType { 504 if m != nil { 505 return m.Type 506 } 507 return Cluster_STATIC 508} 509 510func (m *Cluster) GetEdsClusterConfig() *Cluster_EdsClusterConfig { 511 if m != nil { 512 return m.EdsClusterConfig 513 } 514 return nil 515} 516 517func (m *Cluster) GetConnectTimeout() time.Duration { 518 if m != nil { 519 return m.ConnectTimeout 520 } 521 return 0 522} 523 524func (m *Cluster) GetPerConnectionBufferLimitBytes() *types.UInt32Value { 525 if m != nil { 526 return m.PerConnectionBufferLimitBytes 527 } 528 return nil 529} 530 531func (m *Cluster) GetLbPolicy() Cluster_LbPolicy { 532 if m != nil { 533 return m.LbPolicy 534 } 535 return Cluster_ROUND_ROBIN 536} 537 538// Deprecated: Do not use. 539func (m *Cluster) GetHosts() []*core.Address { 540 if m != nil { 541 return m.Hosts 542 } 543 return nil 544} 545 546func (m *Cluster) GetLoadAssignment() *ClusterLoadAssignment { 547 if m != nil { 548 return m.LoadAssignment 549 } 550 return nil 551} 552 553func (m *Cluster) GetHealthChecks() []*core.HealthCheck { 554 if m != nil { 555 return m.HealthChecks 556 } 557 return nil 558} 559 560func (m *Cluster) GetMaxRequestsPerConnection() *types.UInt32Value { 561 if m != nil { 562 return m.MaxRequestsPerConnection 563 } 564 return nil 565} 566 567func (m *Cluster) GetCircuitBreakers() *cluster.CircuitBreakers { 568 if m != nil { 569 return m.CircuitBreakers 570 } 571 return nil 572} 573 574func (m *Cluster) GetTlsContext() *auth.UpstreamTlsContext { 575 if m != nil { 576 return m.TlsContext 577 } 578 return nil 579} 580 581func (m *Cluster) GetCommonHttpProtocolOptions() *core.HttpProtocolOptions { 582 if m != nil { 583 return m.CommonHttpProtocolOptions 584 } 585 return nil 586} 587 588func (m *Cluster) GetHttpProtocolOptions() *core.Http1ProtocolOptions { 589 if m != nil { 590 return m.HttpProtocolOptions 591 } 592 return nil 593} 594 595func (m *Cluster) GetHttp2ProtocolOptions() *core.Http2ProtocolOptions { 596 if m != nil { 597 return m.Http2ProtocolOptions 598 } 599 return nil 600} 601 602func (m *Cluster) GetExtensionProtocolOptions() map[string]*types.Struct { 603 if m != nil { 604 return m.ExtensionProtocolOptions 605 } 606 return nil 607} 608 609func (m *Cluster) GetDnsRefreshRate() *time.Duration { 610 if m != nil { 611 return m.DnsRefreshRate 612 } 613 return nil 614} 615 616func (m *Cluster) GetDnsLookupFamily() Cluster_DnsLookupFamily { 617 if m != nil { 618 return m.DnsLookupFamily 619 } 620 return Cluster_AUTO 621} 622 623func (m *Cluster) GetDnsResolvers() []*core.Address { 624 if m != nil { 625 return m.DnsResolvers 626 } 627 return nil 628} 629 630func (m *Cluster) GetOutlierDetection() *cluster.OutlierDetection { 631 if m != nil { 632 return m.OutlierDetection 633 } 634 return nil 635} 636 637func (m *Cluster) GetCleanupInterval() *time.Duration { 638 if m != nil { 639 return m.CleanupInterval 640 } 641 return nil 642} 643 644func (m *Cluster) GetUpstreamBindConfig() *core.BindConfig { 645 if m != nil { 646 return m.UpstreamBindConfig 647 } 648 return nil 649} 650 651func (m *Cluster) GetLbSubsetConfig() *Cluster_LbSubsetConfig { 652 if m != nil { 653 return m.LbSubsetConfig 654 } 655 return nil 656} 657 658func (m *Cluster) GetRingHashLbConfig() *Cluster_RingHashLbConfig { 659 if x, ok := m.GetLbConfig().(*Cluster_RingHashLbConfig_); ok { 660 return x.RingHashLbConfig 661 } 662 return nil 663} 664 665func (m *Cluster) GetOriginalDstLbConfig() *Cluster_OriginalDstLbConfig { 666 if x, ok := m.GetLbConfig().(*Cluster_OriginalDstLbConfig_); ok { 667 return x.OriginalDstLbConfig 668 } 669 return nil 670} 671 672func (m *Cluster) GetCommonLbConfig() *Cluster_CommonLbConfig { 673 if m != nil { 674 return m.CommonLbConfig 675 } 676 return nil 677} 678 679func (m *Cluster) GetTransportSocket() *core.TransportSocket { 680 if m != nil { 681 return m.TransportSocket 682 } 683 return nil 684} 685 686func (m *Cluster) GetMetadata() *core.Metadata { 687 if m != nil { 688 return m.Metadata 689 } 690 return nil 691} 692 693func (m *Cluster) GetProtocolSelection() Cluster_ClusterProtocolSelection { 694 if m != nil { 695 return m.ProtocolSelection 696 } 697 return Cluster_USE_CONFIGURED_PROTOCOL 698} 699 700func (m *Cluster) GetUpstreamConnectionOptions() *UpstreamConnectionOptions { 701 if m != nil { 702 return m.UpstreamConnectionOptions 703 } 704 return nil 705} 706 707func (m *Cluster) GetCloseConnectionsOnHostHealthFailure() bool { 708 if m != nil { 709 return m.CloseConnectionsOnHostHealthFailure 710 } 711 return false 712} 713 714func (m *Cluster) GetDrainConnectionsOnHostRemoval() bool { 715 if m != nil { 716 return m.DrainConnectionsOnHostRemoval 717 } 718 return false 719} 720 721// XXX_OneofFuncs is for the internal use of the proto package. 722func (*Cluster) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { 723 return _Cluster_OneofMarshaler, _Cluster_OneofUnmarshaler, _Cluster_OneofSizer, []interface{}{ 724 (*Cluster_RingHashLbConfig_)(nil), 725 (*Cluster_OriginalDstLbConfig_)(nil), 726 } 727} 728 729func _Cluster_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { 730 m := msg.(*Cluster) 731 // lb_config 732 switch x := m.LbConfig.(type) { 733 case *Cluster_RingHashLbConfig_: 734 _ = b.EncodeVarint(23<<3 | proto.WireBytes) 735 if err := b.EncodeMessage(x.RingHashLbConfig); err != nil { 736 return err 737 } 738 case *Cluster_OriginalDstLbConfig_: 739 _ = b.EncodeVarint(34<<3 | proto.WireBytes) 740 if err := b.EncodeMessage(x.OriginalDstLbConfig); err != nil { 741 return err 742 } 743 case nil: 744 default: 745 return fmt.Errorf("Cluster.LbConfig has unexpected type %T", x) 746 } 747 return nil 748} 749 750func _Cluster_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { 751 m := msg.(*Cluster) 752 switch tag { 753 case 23: // lb_config.ring_hash_lb_config 754 if wire != proto.WireBytes { 755 return true, proto.ErrInternalBadWireType 756 } 757 msg := new(Cluster_RingHashLbConfig) 758 err := b.DecodeMessage(msg) 759 m.LbConfig = &Cluster_RingHashLbConfig_{msg} 760 return true, err 761 case 34: // lb_config.original_dst_lb_config 762 if wire != proto.WireBytes { 763 return true, proto.ErrInternalBadWireType 764 } 765 msg := new(Cluster_OriginalDstLbConfig) 766 err := b.DecodeMessage(msg) 767 m.LbConfig = &Cluster_OriginalDstLbConfig_{msg} 768 return true, err 769 default: 770 return false, nil 771 } 772} 773 774func _Cluster_OneofSizer(msg proto.Message) (n int) { 775 m := msg.(*Cluster) 776 // lb_config 777 switch x := m.LbConfig.(type) { 778 case *Cluster_RingHashLbConfig_: 779 s := proto.Size(x.RingHashLbConfig) 780 n += 2 // tag and wire 781 n += proto.SizeVarint(uint64(s)) 782 n += s 783 case *Cluster_OriginalDstLbConfig_: 784 s := proto.Size(x.OriginalDstLbConfig) 785 n += 2 // tag and wire 786 n += proto.SizeVarint(uint64(s)) 787 n += s 788 case nil: 789 default: 790 panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) 791 } 792 return n 793} 794 795// Only valid when discovery type is EDS. 796type Cluster_EdsClusterConfig struct { 797 // Configuration for the source of EDS updates for this Cluster. 798 EdsConfig *core.ConfigSource `protobuf:"bytes,1,opt,name=eds_config,json=edsConfig" json:"eds_config,omitempty"` 799 // Optional alternative to cluster name to present to EDS. This does not 800 // have the same restrictions as cluster name, i.e. it may be arbitrary 801 // length. 802 ServiceName string `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` 803 XXX_NoUnkeyedLiteral struct{} `json:"-"` 804 XXX_unrecognized []byte `json:"-"` 805 XXX_sizecache int32 `json:"-"` 806} 807 808func (m *Cluster_EdsClusterConfig) Reset() { *m = Cluster_EdsClusterConfig{} } 809func (m *Cluster_EdsClusterConfig) String() string { return proto.CompactTextString(m) } 810func (*Cluster_EdsClusterConfig) ProtoMessage() {} 811func (*Cluster_EdsClusterConfig) Descriptor() ([]byte, []int) { 812 return fileDescriptor_cds_c9aad078b729c273, []int{0, 0} 813} 814func (m *Cluster_EdsClusterConfig) XXX_Unmarshal(b []byte) error { 815 return m.Unmarshal(b) 816} 817func (m *Cluster_EdsClusterConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 818 if deterministic { 819 return xxx_messageInfo_Cluster_EdsClusterConfig.Marshal(b, m, deterministic) 820 } else { 821 b = b[:cap(b)] 822 n, err := m.MarshalTo(b) 823 if err != nil { 824 return nil, err 825 } 826 return b[:n], nil 827 } 828} 829func (dst *Cluster_EdsClusterConfig) XXX_Merge(src proto.Message) { 830 xxx_messageInfo_Cluster_EdsClusterConfig.Merge(dst, src) 831} 832func (m *Cluster_EdsClusterConfig) XXX_Size() int { 833 return m.Size() 834} 835func (m *Cluster_EdsClusterConfig) XXX_DiscardUnknown() { 836 xxx_messageInfo_Cluster_EdsClusterConfig.DiscardUnknown(m) 837} 838 839var xxx_messageInfo_Cluster_EdsClusterConfig proto.InternalMessageInfo 840 841func (m *Cluster_EdsClusterConfig) GetEdsConfig() *core.ConfigSource { 842 if m != nil { 843 return m.EdsConfig 844 } 845 return nil 846} 847 848func (m *Cluster_EdsClusterConfig) GetServiceName() string { 849 if m != nil { 850 return m.ServiceName 851 } 852 return "" 853} 854 855// Optionally divide the endpoints in this cluster into subsets defined by 856// endpoint metadata and selected by route and weighted cluster metadata. 857type Cluster_LbSubsetConfig struct { 858 // The behavior used when no endpoint subset matches the selected route's 859 // metadata. The value defaults to 860 // :ref:`NO_FALLBACK<envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`. 861 FallbackPolicy Cluster_LbSubsetConfig_LbSubsetFallbackPolicy `protobuf:"varint,1,opt,name=fallback_policy,json=fallbackPolicy,proto3,enum=envoy.api.v2.Cluster_LbSubsetConfig_LbSubsetFallbackPolicy" json:"fallback_policy,omitempty"` 862 // Specifies the default subset of endpoints used during fallback if 863 // fallback_policy is 864 // :ref:`DEFAULT_SUBSET<envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET>`. 865 // Each field in default_subset is 866 // compared to the matching LbEndpoint.Metadata under the *envoy.lb* 867 // namespace. It is valid for no hosts to match, in which case the behavior 868 // is the same as a fallback_policy of 869 // :ref:`NO_FALLBACK<envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`. 870 DefaultSubset *types.Struct `protobuf:"bytes,2,opt,name=default_subset,json=defaultSubset" json:"default_subset,omitempty"` 871 // For each entry, LbEndpoint.Metadata's 872 // *envoy.lb* namespace is traversed and a subset is created for each unique 873 // combination of key and value. For example: 874 // 875 // .. code-block:: json 876 // 877 // { "subset_selectors": [ 878 // { "keys": [ "version" ] }, 879 // { "keys": [ "stage", "hardware_type" ] } 880 // ]} 881 // 882 // A subset is matched when the metadata from the selected route and 883 // weighted cluster contains the same keys and values as the subset's 884 // metadata. The same host may appear in multiple subsets. 885 SubsetSelectors []*Cluster_LbSubsetConfig_LbSubsetSelector `protobuf:"bytes,3,rep,name=subset_selectors,json=subsetSelectors" json:"subset_selectors,omitempty"` 886 // If true, routing to subsets will take into account the localities and locality weights of the 887 // endpoints when making the routing decision. 888 // 889 // There are some potential pitfalls associated with enabling this feature, as the resulting 890 // traffic split after applying both a subset match and locality weights might be undesirable. 891 // 892 // Consider for example a situation in which you have 50/50 split across two localities X/Y 893 // which have 100 hosts each without subsetting. If the subset LB results in X having only 1 894 // host selected but Y having 100, then a lot more load is being dumped on the single host in X 895 // than originally anticipated in the load balancing assignment delivered via EDS. 896 LocalityWeightAware bool `protobuf:"varint,4,opt,name=locality_weight_aware,json=localityWeightAware,proto3" json:"locality_weight_aware,omitempty"` 897 XXX_NoUnkeyedLiteral struct{} `json:"-"` 898 XXX_unrecognized []byte `json:"-"` 899 XXX_sizecache int32 `json:"-"` 900} 901 902func (m *Cluster_LbSubsetConfig) Reset() { *m = Cluster_LbSubsetConfig{} } 903func (m *Cluster_LbSubsetConfig) String() string { return proto.CompactTextString(m) } 904func (*Cluster_LbSubsetConfig) ProtoMessage() {} 905func (*Cluster_LbSubsetConfig) Descriptor() ([]byte, []int) { 906 return fileDescriptor_cds_c9aad078b729c273, []int{0, 2} 907} 908func (m *Cluster_LbSubsetConfig) XXX_Unmarshal(b []byte) error { 909 return m.Unmarshal(b) 910} 911func (m *Cluster_LbSubsetConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 912 if deterministic { 913 return xxx_messageInfo_Cluster_LbSubsetConfig.Marshal(b, m, deterministic) 914 } else { 915 b = b[:cap(b)] 916 n, err := m.MarshalTo(b) 917 if err != nil { 918 return nil, err 919 } 920 return b[:n], nil 921 } 922} 923func (dst *Cluster_LbSubsetConfig) XXX_Merge(src proto.Message) { 924 xxx_messageInfo_Cluster_LbSubsetConfig.Merge(dst, src) 925} 926func (m *Cluster_LbSubsetConfig) XXX_Size() int { 927 return m.Size() 928} 929func (m *Cluster_LbSubsetConfig) XXX_DiscardUnknown() { 930 xxx_messageInfo_Cluster_LbSubsetConfig.DiscardUnknown(m) 931} 932 933var xxx_messageInfo_Cluster_LbSubsetConfig proto.InternalMessageInfo 934 935func (m *Cluster_LbSubsetConfig) GetFallbackPolicy() Cluster_LbSubsetConfig_LbSubsetFallbackPolicy { 936 if m != nil { 937 return m.FallbackPolicy 938 } 939 return Cluster_LbSubsetConfig_NO_FALLBACK 940} 941 942func (m *Cluster_LbSubsetConfig) GetDefaultSubset() *types.Struct { 943 if m != nil { 944 return m.DefaultSubset 945 } 946 return nil 947} 948 949func (m *Cluster_LbSubsetConfig) GetSubsetSelectors() []*Cluster_LbSubsetConfig_LbSubsetSelector { 950 if m != nil { 951 return m.SubsetSelectors 952 } 953 return nil 954} 955 956func (m *Cluster_LbSubsetConfig) GetLocalityWeightAware() bool { 957 if m != nil { 958 return m.LocalityWeightAware 959 } 960 return false 961} 962 963// Specifications for subsets. 964type Cluster_LbSubsetConfig_LbSubsetSelector struct { 965 // List of keys to match with the weighted cluster metadata. 966 Keys []string `protobuf:"bytes,1,rep,name=keys" json:"keys,omitempty"` 967 XXX_NoUnkeyedLiteral struct{} `json:"-"` 968 XXX_unrecognized []byte `json:"-"` 969 XXX_sizecache int32 `json:"-"` 970} 971 972func (m *Cluster_LbSubsetConfig_LbSubsetSelector) Reset() { 973 *m = Cluster_LbSubsetConfig_LbSubsetSelector{} 974} 975func (m *Cluster_LbSubsetConfig_LbSubsetSelector) String() string { return proto.CompactTextString(m) } 976func (*Cluster_LbSubsetConfig_LbSubsetSelector) ProtoMessage() {} 977func (*Cluster_LbSubsetConfig_LbSubsetSelector) Descriptor() ([]byte, []int) { 978 return fileDescriptor_cds_c9aad078b729c273, []int{0, 2, 0} 979} 980func (m *Cluster_LbSubsetConfig_LbSubsetSelector) XXX_Unmarshal(b []byte) error { 981 return m.Unmarshal(b) 982} 983func (m *Cluster_LbSubsetConfig_LbSubsetSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 984 if deterministic { 985 return xxx_messageInfo_Cluster_LbSubsetConfig_LbSubsetSelector.Marshal(b, m, deterministic) 986 } else { 987 b = b[:cap(b)] 988 n, err := m.MarshalTo(b) 989 if err != nil { 990 return nil, err 991 } 992 return b[:n], nil 993 } 994} 995func (dst *Cluster_LbSubsetConfig_LbSubsetSelector) XXX_Merge(src proto.Message) { 996 xxx_messageInfo_Cluster_LbSubsetConfig_LbSubsetSelector.Merge(dst, src) 997} 998func (m *Cluster_LbSubsetConfig_LbSubsetSelector) XXX_Size() int { 999 return m.Size() 1000} 1001func (m *Cluster_LbSubsetConfig_LbSubsetSelector) XXX_DiscardUnknown() { 1002 xxx_messageInfo_Cluster_LbSubsetConfig_LbSubsetSelector.DiscardUnknown(m) 1003} 1004 1005var xxx_messageInfo_Cluster_LbSubsetConfig_LbSubsetSelector proto.InternalMessageInfo 1006 1007func (m *Cluster_LbSubsetConfig_LbSubsetSelector) GetKeys() []string { 1008 if m != nil { 1009 return m.Keys 1010 } 1011 return nil 1012} 1013 1014// Specific configuration for the :ref:`RingHash<arch_overview_load_balancing_types_ring_hash>` 1015// load balancing policy. 1016type Cluster_RingHashLbConfig struct { 1017 // Minimum hash ring size, i.e. total virtual nodes. A larger size 1018 // will provide better request distribution since each host in the 1019 // cluster will have more virtual nodes. Defaults to 1024. In the case 1020 // that total number of hosts is greater than the minimum, each host will 1021 // be allocated a single virtual node. This field is limited to 8M to bound 1022 // resource use. 1023 MinimumRingSize *types.UInt64Value `protobuf:"bytes,1,opt,name=minimum_ring_size,json=minimumRingSize" json:"minimum_ring_size,omitempty"` 1024 // Deprecated settings from v1 config. 1025 // [#not-implemented-hide:] Hide from docs. 1026 DeprecatedV1 *Cluster_RingHashLbConfig_DeprecatedV1 `protobuf:"bytes,2,opt,name=deprecated_v1,json=deprecatedV1" json:"deprecated_v1,omitempty"` // Deprecated: Do not use. 1027 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1028 XXX_unrecognized []byte `json:"-"` 1029 XXX_sizecache int32 `json:"-"` 1030} 1031 1032func (m *Cluster_RingHashLbConfig) Reset() { *m = Cluster_RingHashLbConfig{} } 1033func (m *Cluster_RingHashLbConfig) String() string { return proto.CompactTextString(m) } 1034func (*Cluster_RingHashLbConfig) ProtoMessage() {} 1035func (*Cluster_RingHashLbConfig) Descriptor() ([]byte, []int) { 1036 return fileDescriptor_cds_c9aad078b729c273, []int{0, 3} 1037} 1038func (m *Cluster_RingHashLbConfig) XXX_Unmarshal(b []byte) error { 1039 return m.Unmarshal(b) 1040} 1041func (m *Cluster_RingHashLbConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1042 if deterministic { 1043 return xxx_messageInfo_Cluster_RingHashLbConfig.Marshal(b, m, deterministic) 1044 } else { 1045 b = b[:cap(b)] 1046 n, err := m.MarshalTo(b) 1047 if err != nil { 1048 return nil, err 1049 } 1050 return b[:n], nil 1051 } 1052} 1053func (dst *Cluster_RingHashLbConfig) XXX_Merge(src proto.Message) { 1054 xxx_messageInfo_Cluster_RingHashLbConfig.Merge(dst, src) 1055} 1056func (m *Cluster_RingHashLbConfig) XXX_Size() int { 1057 return m.Size() 1058} 1059func (m *Cluster_RingHashLbConfig) XXX_DiscardUnknown() { 1060 xxx_messageInfo_Cluster_RingHashLbConfig.DiscardUnknown(m) 1061} 1062 1063var xxx_messageInfo_Cluster_RingHashLbConfig proto.InternalMessageInfo 1064 1065func (m *Cluster_RingHashLbConfig) GetMinimumRingSize() *types.UInt64Value { 1066 if m != nil { 1067 return m.MinimumRingSize 1068 } 1069 return nil 1070} 1071 1072// Deprecated: Do not use. 1073func (m *Cluster_RingHashLbConfig) GetDeprecatedV1() *Cluster_RingHashLbConfig_DeprecatedV1 { 1074 if m != nil { 1075 return m.DeprecatedV1 1076 } 1077 return nil 1078} 1079 1080// [#not-implemented-hide:] Hide from docs. 1081type Cluster_RingHashLbConfig_DeprecatedV1 struct { 1082 // Defaults to true, meaning that std::hash is used to hash hosts onto 1083 // the ketama ring. std::hash can vary by platform. For this reason, 1084 // Envoy will eventually use `xxHash <https://github.com/Cyan4973/xxHash>`_ 1085 // by default. This field exists for 1086 // migration purposes and will eventually be deprecated. Set it to false 1087 // to use `xxHash <https://github.com/Cyan4973/xxHash>`_ now. 1088 UseStdHash *types.BoolValue `protobuf:"bytes,1,opt,name=use_std_hash,json=useStdHash" json:"use_std_hash,omitempty"` 1089 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1090 XXX_unrecognized []byte `json:"-"` 1091 XXX_sizecache int32 `json:"-"` 1092} 1093 1094func (m *Cluster_RingHashLbConfig_DeprecatedV1) Reset() { *m = Cluster_RingHashLbConfig_DeprecatedV1{} } 1095func (m *Cluster_RingHashLbConfig_DeprecatedV1) String() string { return proto.CompactTextString(m) } 1096func (*Cluster_RingHashLbConfig_DeprecatedV1) ProtoMessage() {} 1097func (*Cluster_RingHashLbConfig_DeprecatedV1) Descriptor() ([]byte, []int) { 1098 return fileDescriptor_cds_c9aad078b729c273, []int{0, 3, 0} 1099} 1100func (m *Cluster_RingHashLbConfig_DeprecatedV1) XXX_Unmarshal(b []byte) error { 1101 return m.Unmarshal(b) 1102} 1103func (m *Cluster_RingHashLbConfig_DeprecatedV1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1104 if deterministic { 1105 return xxx_messageInfo_Cluster_RingHashLbConfig_DeprecatedV1.Marshal(b, m, deterministic) 1106 } else { 1107 b = b[:cap(b)] 1108 n, err := m.MarshalTo(b) 1109 if err != nil { 1110 return nil, err 1111 } 1112 return b[:n], nil 1113 } 1114} 1115func (dst *Cluster_RingHashLbConfig_DeprecatedV1) XXX_Merge(src proto.Message) { 1116 xxx_messageInfo_Cluster_RingHashLbConfig_DeprecatedV1.Merge(dst, src) 1117} 1118func (m *Cluster_RingHashLbConfig_DeprecatedV1) XXX_Size() int { 1119 return m.Size() 1120} 1121func (m *Cluster_RingHashLbConfig_DeprecatedV1) XXX_DiscardUnknown() { 1122 xxx_messageInfo_Cluster_RingHashLbConfig_DeprecatedV1.DiscardUnknown(m) 1123} 1124 1125var xxx_messageInfo_Cluster_RingHashLbConfig_DeprecatedV1 proto.InternalMessageInfo 1126 1127func (m *Cluster_RingHashLbConfig_DeprecatedV1) GetUseStdHash() *types.BoolValue { 1128 if m != nil { 1129 return m.UseStdHash 1130 } 1131 return nil 1132} 1133 1134// Specific configuration for the 1135// :ref:`Original Destination <arch_overview_load_balancing_types_original_destination>` 1136// load balancing policy. 1137type Cluster_OriginalDstLbConfig struct { 1138 // When true, :ref:`x-envoy-orignal-dst-host 1139 // <config_http_conn_man_headers_x-envoy-original-dst-host>` can be used to override destination 1140 // address. 1141 // 1142 // .. attention:: 1143 // 1144 // This header isn't sanitized by default, so enabling this feature allows HTTP clients to 1145 // route traffic to arbitrary hosts and/or ports, which may have serious security 1146 // consequences. 1147 UseHttpHeader bool `protobuf:"varint,1,opt,name=use_http_header,json=useHttpHeader,proto3" json:"use_http_header,omitempty"` 1148 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1149 XXX_unrecognized []byte `json:"-"` 1150 XXX_sizecache int32 `json:"-"` 1151} 1152 1153func (m *Cluster_OriginalDstLbConfig) Reset() { *m = Cluster_OriginalDstLbConfig{} } 1154func (m *Cluster_OriginalDstLbConfig) String() string { return proto.CompactTextString(m) } 1155func (*Cluster_OriginalDstLbConfig) ProtoMessage() {} 1156func (*Cluster_OriginalDstLbConfig) Descriptor() ([]byte, []int) { 1157 return fileDescriptor_cds_c9aad078b729c273, []int{0, 4} 1158} 1159func (m *Cluster_OriginalDstLbConfig) XXX_Unmarshal(b []byte) error { 1160 return m.Unmarshal(b) 1161} 1162func (m *Cluster_OriginalDstLbConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1163 if deterministic { 1164 return xxx_messageInfo_Cluster_OriginalDstLbConfig.Marshal(b, m, deterministic) 1165 } else { 1166 b = b[:cap(b)] 1167 n, err := m.MarshalTo(b) 1168 if err != nil { 1169 return nil, err 1170 } 1171 return b[:n], nil 1172 } 1173} 1174func (dst *Cluster_OriginalDstLbConfig) XXX_Merge(src proto.Message) { 1175 xxx_messageInfo_Cluster_OriginalDstLbConfig.Merge(dst, src) 1176} 1177func (m *Cluster_OriginalDstLbConfig) XXX_Size() int { 1178 return m.Size() 1179} 1180func (m *Cluster_OriginalDstLbConfig) XXX_DiscardUnknown() { 1181 xxx_messageInfo_Cluster_OriginalDstLbConfig.DiscardUnknown(m) 1182} 1183 1184var xxx_messageInfo_Cluster_OriginalDstLbConfig proto.InternalMessageInfo 1185 1186func (m *Cluster_OriginalDstLbConfig) GetUseHttpHeader() bool { 1187 if m != nil { 1188 return m.UseHttpHeader 1189 } 1190 return false 1191} 1192 1193// Common configuration for all load balancer implementations. 1194type Cluster_CommonLbConfig struct { 1195 // Configures the :ref:`healthy panic threshold <arch_overview_load_balancing_panic_threshold>`. 1196 // If not specified, the default is 50%. 1197 // 1198 // .. note:: 1199 // The specified percent will be truncated to the nearest 1%. 1200 HealthyPanicThreshold *_type.Percent `protobuf:"bytes,1,opt,name=healthy_panic_threshold,json=healthyPanicThreshold" json:"healthy_panic_threshold,omitempty"` 1201 // Types that are valid to be assigned to LocalityConfigSpecifier: 1202 // *Cluster_CommonLbConfig_ZoneAwareLbConfig_ 1203 // *Cluster_CommonLbConfig_LocalityWeightedLbConfig_ 1204 LocalityConfigSpecifier isCluster_CommonLbConfig_LocalityConfigSpecifier `protobuf_oneof:"locality_config_specifier"` 1205 // If set, all health check/weight/metadata updates that happen within this duration will be 1206 // merged and delivered in one shot when the duration expires. The start of the duration is when 1207 // the first update happens. This is useful for big clusters, with potentially noisy deploys 1208 // that might trigger excessive CPU usage due to a constant stream of healthcheck state changes 1209 // or metadata updates. By default, this is not configured and updates apply immediately. Also, 1210 // the first set of updates to be seen apply immediately as well (e.g.: a new cluster). 1211 // 1212 // Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is 1213 // because merging those updates isn't currently safe. See 1214 // https://github.com/envoyproxy/envoy/pull/3941. 1215 UpdateMergeWindow *types.Duration `protobuf:"bytes,4,opt,name=update_merge_window,json=updateMergeWindow" json:"update_merge_window,omitempty"` 1216 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1217 XXX_unrecognized []byte `json:"-"` 1218 XXX_sizecache int32 `json:"-"` 1219} 1220 1221func (m *Cluster_CommonLbConfig) Reset() { *m = Cluster_CommonLbConfig{} } 1222func (m *Cluster_CommonLbConfig) String() string { return proto.CompactTextString(m) } 1223func (*Cluster_CommonLbConfig) ProtoMessage() {} 1224func (*Cluster_CommonLbConfig) Descriptor() ([]byte, []int) { 1225 return fileDescriptor_cds_c9aad078b729c273, []int{0, 5} 1226} 1227func (m *Cluster_CommonLbConfig) XXX_Unmarshal(b []byte) error { 1228 return m.Unmarshal(b) 1229} 1230func (m *Cluster_CommonLbConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1231 if deterministic { 1232 return xxx_messageInfo_Cluster_CommonLbConfig.Marshal(b, m, deterministic) 1233 } else { 1234 b = b[:cap(b)] 1235 n, err := m.MarshalTo(b) 1236 if err != nil { 1237 return nil, err 1238 } 1239 return b[:n], nil 1240 } 1241} 1242func (dst *Cluster_CommonLbConfig) XXX_Merge(src proto.Message) { 1243 xxx_messageInfo_Cluster_CommonLbConfig.Merge(dst, src) 1244} 1245func (m *Cluster_CommonLbConfig) XXX_Size() int { 1246 return m.Size() 1247} 1248func (m *Cluster_CommonLbConfig) XXX_DiscardUnknown() { 1249 xxx_messageInfo_Cluster_CommonLbConfig.DiscardUnknown(m) 1250} 1251 1252var xxx_messageInfo_Cluster_CommonLbConfig proto.InternalMessageInfo 1253 1254type isCluster_CommonLbConfig_LocalityConfigSpecifier interface { 1255 isCluster_CommonLbConfig_LocalityConfigSpecifier() 1256 Equal(interface{}) bool 1257 MarshalTo([]byte) (int, error) 1258 Size() int 1259} 1260 1261type Cluster_CommonLbConfig_ZoneAwareLbConfig_ struct { 1262 ZoneAwareLbConfig *Cluster_CommonLbConfig_ZoneAwareLbConfig `protobuf:"bytes,2,opt,name=zone_aware_lb_config,json=zoneAwareLbConfig,oneof"` 1263} 1264type Cluster_CommonLbConfig_LocalityWeightedLbConfig_ struct { 1265 LocalityWeightedLbConfig *Cluster_CommonLbConfig_LocalityWeightedLbConfig `protobuf:"bytes,3,opt,name=locality_weighted_lb_config,json=localityWeightedLbConfig,oneof"` 1266} 1267 1268func (*Cluster_CommonLbConfig_ZoneAwareLbConfig_) isCluster_CommonLbConfig_LocalityConfigSpecifier() {} 1269func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig_) isCluster_CommonLbConfig_LocalityConfigSpecifier() { 1270} 1271 1272func (m *Cluster_CommonLbConfig) GetLocalityConfigSpecifier() isCluster_CommonLbConfig_LocalityConfigSpecifier { 1273 if m != nil { 1274 return m.LocalityConfigSpecifier 1275 } 1276 return nil 1277} 1278 1279func (m *Cluster_CommonLbConfig) GetHealthyPanicThreshold() *_type.Percent { 1280 if m != nil { 1281 return m.HealthyPanicThreshold 1282 } 1283 return nil 1284} 1285 1286func (m *Cluster_CommonLbConfig) GetZoneAwareLbConfig() *Cluster_CommonLbConfig_ZoneAwareLbConfig { 1287 if x, ok := m.GetLocalityConfigSpecifier().(*Cluster_CommonLbConfig_ZoneAwareLbConfig_); ok { 1288 return x.ZoneAwareLbConfig 1289 } 1290 return nil 1291} 1292 1293func (m *Cluster_CommonLbConfig) GetLocalityWeightedLbConfig() *Cluster_CommonLbConfig_LocalityWeightedLbConfig { 1294 if x, ok := m.GetLocalityConfigSpecifier().(*Cluster_CommonLbConfig_LocalityWeightedLbConfig_); ok { 1295 return x.LocalityWeightedLbConfig 1296 } 1297 return nil 1298} 1299 1300func (m *Cluster_CommonLbConfig) GetUpdateMergeWindow() *types.Duration { 1301 if m != nil { 1302 return m.UpdateMergeWindow 1303 } 1304 return nil 1305} 1306 1307// XXX_OneofFuncs is for the internal use of the proto package. 1308func (*Cluster_CommonLbConfig) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { 1309 return _Cluster_CommonLbConfig_OneofMarshaler, _Cluster_CommonLbConfig_OneofUnmarshaler, _Cluster_CommonLbConfig_OneofSizer, []interface{}{ 1310 (*Cluster_CommonLbConfig_ZoneAwareLbConfig_)(nil), 1311 (*Cluster_CommonLbConfig_LocalityWeightedLbConfig_)(nil), 1312 } 1313} 1314 1315func _Cluster_CommonLbConfig_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { 1316 m := msg.(*Cluster_CommonLbConfig) 1317 // locality_config_specifier 1318 switch x := m.LocalityConfigSpecifier.(type) { 1319 case *Cluster_CommonLbConfig_ZoneAwareLbConfig_: 1320 _ = b.EncodeVarint(2<<3 | proto.WireBytes) 1321 if err := b.EncodeMessage(x.ZoneAwareLbConfig); err != nil { 1322 return err 1323 } 1324 case *Cluster_CommonLbConfig_LocalityWeightedLbConfig_: 1325 _ = b.EncodeVarint(3<<3 | proto.WireBytes) 1326 if err := b.EncodeMessage(x.LocalityWeightedLbConfig); err != nil { 1327 return err 1328 } 1329 case nil: 1330 default: 1331 return fmt.Errorf("Cluster_CommonLbConfig.LocalityConfigSpecifier has unexpected type %T", x) 1332 } 1333 return nil 1334} 1335 1336func _Cluster_CommonLbConfig_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { 1337 m := msg.(*Cluster_CommonLbConfig) 1338 switch tag { 1339 case 2: // locality_config_specifier.zone_aware_lb_config 1340 if wire != proto.WireBytes { 1341 return true, proto.ErrInternalBadWireType 1342 } 1343 msg := new(Cluster_CommonLbConfig_ZoneAwareLbConfig) 1344 err := b.DecodeMessage(msg) 1345 m.LocalityConfigSpecifier = &Cluster_CommonLbConfig_ZoneAwareLbConfig_{msg} 1346 return true, err 1347 case 3: // locality_config_specifier.locality_weighted_lb_config 1348 if wire != proto.WireBytes { 1349 return true, proto.ErrInternalBadWireType 1350 } 1351 msg := new(Cluster_CommonLbConfig_LocalityWeightedLbConfig) 1352 err := b.DecodeMessage(msg) 1353 m.LocalityConfigSpecifier = &Cluster_CommonLbConfig_LocalityWeightedLbConfig_{msg} 1354 return true, err 1355 default: 1356 return false, nil 1357 } 1358} 1359 1360func _Cluster_CommonLbConfig_OneofSizer(msg proto.Message) (n int) { 1361 m := msg.(*Cluster_CommonLbConfig) 1362 // locality_config_specifier 1363 switch x := m.LocalityConfigSpecifier.(type) { 1364 case *Cluster_CommonLbConfig_ZoneAwareLbConfig_: 1365 s := proto.Size(x.ZoneAwareLbConfig) 1366 n += 1 // tag and wire 1367 n += proto.SizeVarint(uint64(s)) 1368 n += s 1369 case *Cluster_CommonLbConfig_LocalityWeightedLbConfig_: 1370 s := proto.Size(x.LocalityWeightedLbConfig) 1371 n += 1 // tag and wire 1372 n += proto.SizeVarint(uint64(s)) 1373 n += s 1374 case nil: 1375 default: 1376 panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) 1377 } 1378 return n 1379} 1380 1381// Configuration for :ref:`zone aware routing 1382// <arch_overview_load_balancing_zone_aware_routing>`. 1383type Cluster_CommonLbConfig_ZoneAwareLbConfig struct { 1384 // Configures percentage of requests that will be considered for zone aware routing 1385 // if zone aware routing is configured. If not specified, the default is 100%. 1386 // * :ref:`runtime values <config_cluster_manager_cluster_runtime_zone_routing>`. 1387 // * :ref:`Zone aware routing support <arch_overview_load_balancing_zone_aware_routing>`. 1388 RoutingEnabled *_type.Percent `protobuf:"bytes,1,opt,name=routing_enabled,json=routingEnabled" json:"routing_enabled,omitempty"` 1389 // Configures minimum upstream cluster size required for zone aware routing 1390 // If upstream cluster size is less than specified, zone aware routing is not performed 1391 // even if zone aware routing is configured. If not specified, the default is 6. 1392 // * :ref:`runtime values <config_cluster_manager_cluster_runtime_zone_routing>`. 1393 // * :ref:`Zone aware routing support <arch_overview_load_balancing_zone_aware_routing>`. 1394 MinClusterSize *types.UInt64Value `protobuf:"bytes,2,opt,name=min_cluster_size,json=minClusterSize" json:"min_cluster_size,omitempty"` 1395 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1396 XXX_unrecognized []byte `json:"-"` 1397 XXX_sizecache int32 `json:"-"` 1398} 1399 1400func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) Reset() { 1401 *m = Cluster_CommonLbConfig_ZoneAwareLbConfig{} 1402} 1403func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) String() string { return proto.CompactTextString(m) } 1404func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) ProtoMessage() {} 1405func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) Descriptor() ([]byte, []int) { 1406 return fileDescriptor_cds_c9aad078b729c273, []int{0, 5, 0} 1407} 1408func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) XXX_Unmarshal(b []byte) error { 1409 return m.Unmarshal(b) 1410} 1411func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1412 if deterministic { 1413 return xxx_messageInfo_Cluster_CommonLbConfig_ZoneAwareLbConfig.Marshal(b, m, deterministic) 1414 } else { 1415 b = b[:cap(b)] 1416 n, err := m.MarshalTo(b) 1417 if err != nil { 1418 return nil, err 1419 } 1420 return b[:n], nil 1421 } 1422} 1423func (dst *Cluster_CommonLbConfig_ZoneAwareLbConfig) XXX_Merge(src proto.Message) { 1424 xxx_messageInfo_Cluster_CommonLbConfig_ZoneAwareLbConfig.Merge(dst, src) 1425} 1426func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) XXX_Size() int { 1427 return m.Size() 1428} 1429func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) XXX_DiscardUnknown() { 1430 xxx_messageInfo_Cluster_CommonLbConfig_ZoneAwareLbConfig.DiscardUnknown(m) 1431} 1432 1433var xxx_messageInfo_Cluster_CommonLbConfig_ZoneAwareLbConfig proto.InternalMessageInfo 1434 1435func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) GetRoutingEnabled() *_type.Percent { 1436 if m != nil { 1437 return m.RoutingEnabled 1438 } 1439 return nil 1440} 1441 1442func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) GetMinClusterSize() *types.UInt64Value { 1443 if m != nil { 1444 return m.MinClusterSize 1445 } 1446 return nil 1447} 1448 1449// Configuration for :ref:`locality weighted load balancing 1450// <arch_overview_load_balancing_locality_weighted_lb>` 1451type Cluster_CommonLbConfig_LocalityWeightedLbConfig struct { 1452 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1453 XXX_unrecognized []byte `json:"-"` 1454 XXX_sizecache int32 `json:"-"` 1455} 1456 1457func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) Reset() { 1458 *m = Cluster_CommonLbConfig_LocalityWeightedLbConfig{} 1459} 1460func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) String() string { 1461 return proto.CompactTextString(m) 1462} 1463func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) ProtoMessage() {} 1464func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) Descriptor() ([]byte, []int) { 1465 return fileDescriptor_cds_c9aad078b729c273, []int{0, 5, 1} 1466} 1467func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) XXX_Unmarshal(b []byte) error { 1468 return m.Unmarshal(b) 1469} 1470func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1471 if deterministic { 1472 return xxx_messageInfo_Cluster_CommonLbConfig_LocalityWeightedLbConfig.Marshal(b, m, deterministic) 1473 } else { 1474 b = b[:cap(b)] 1475 n, err := m.MarshalTo(b) 1476 if err != nil { 1477 return nil, err 1478 } 1479 return b[:n], nil 1480 } 1481} 1482func (dst *Cluster_CommonLbConfig_LocalityWeightedLbConfig) XXX_Merge(src proto.Message) { 1483 xxx_messageInfo_Cluster_CommonLbConfig_LocalityWeightedLbConfig.Merge(dst, src) 1484} 1485func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) XXX_Size() int { 1486 return m.Size() 1487} 1488func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) XXX_DiscardUnknown() { 1489 xxx_messageInfo_Cluster_CommonLbConfig_LocalityWeightedLbConfig.DiscardUnknown(m) 1490} 1491 1492var xxx_messageInfo_Cluster_CommonLbConfig_LocalityWeightedLbConfig proto.InternalMessageInfo 1493 1494// An extensible structure containing the address Envoy should bind to when 1495// establishing upstream connections. 1496type UpstreamBindConfig struct { 1497 // The address Envoy should bind to when establishing upstream connections. 1498 SourceAddress *core.Address `protobuf:"bytes,1,opt,name=source_address,json=sourceAddress" json:"source_address,omitempty"` 1499 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1500 XXX_unrecognized []byte `json:"-"` 1501 XXX_sizecache int32 `json:"-"` 1502} 1503 1504func (m *UpstreamBindConfig) Reset() { *m = UpstreamBindConfig{} } 1505func (m *UpstreamBindConfig) String() string { return proto.CompactTextString(m) } 1506func (*UpstreamBindConfig) ProtoMessage() {} 1507func (*UpstreamBindConfig) Descriptor() ([]byte, []int) { 1508 return fileDescriptor_cds_c9aad078b729c273, []int{1} 1509} 1510func (m *UpstreamBindConfig) XXX_Unmarshal(b []byte) error { 1511 return m.Unmarshal(b) 1512} 1513func (m *UpstreamBindConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1514 if deterministic { 1515 return xxx_messageInfo_UpstreamBindConfig.Marshal(b, m, deterministic) 1516 } else { 1517 b = b[:cap(b)] 1518 n, err := m.MarshalTo(b) 1519 if err != nil { 1520 return nil, err 1521 } 1522 return b[:n], nil 1523 } 1524} 1525func (dst *UpstreamBindConfig) XXX_Merge(src proto.Message) { 1526 xxx_messageInfo_UpstreamBindConfig.Merge(dst, src) 1527} 1528func (m *UpstreamBindConfig) XXX_Size() int { 1529 return m.Size() 1530} 1531func (m *UpstreamBindConfig) XXX_DiscardUnknown() { 1532 xxx_messageInfo_UpstreamBindConfig.DiscardUnknown(m) 1533} 1534 1535var xxx_messageInfo_UpstreamBindConfig proto.InternalMessageInfo 1536 1537func (m *UpstreamBindConfig) GetSourceAddress() *core.Address { 1538 if m != nil { 1539 return m.SourceAddress 1540 } 1541 return nil 1542} 1543 1544type UpstreamConnectionOptions struct { 1545 // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives. 1546 TcpKeepalive *core.TcpKeepalive `protobuf:"bytes,1,opt,name=tcp_keepalive,json=tcpKeepalive" json:"tcp_keepalive,omitempty"` 1547 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1548 XXX_unrecognized []byte `json:"-"` 1549 XXX_sizecache int32 `json:"-"` 1550} 1551 1552func (m *UpstreamConnectionOptions) Reset() { *m = UpstreamConnectionOptions{} } 1553func (m *UpstreamConnectionOptions) String() string { return proto.CompactTextString(m) } 1554func (*UpstreamConnectionOptions) ProtoMessage() {} 1555func (*UpstreamConnectionOptions) Descriptor() ([]byte, []int) { 1556 return fileDescriptor_cds_c9aad078b729c273, []int{2} 1557} 1558func (m *UpstreamConnectionOptions) XXX_Unmarshal(b []byte) error { 1559 return m.Unmarshal(b) 1560} 1561func (m *UpstreamConnectionOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1562 if deterministic { 1563 return xxx_messageInfo_UpstreamConnectionOptions.Marshal(b, m, deterministic) 1564 } else { 1565 b = b[:cap(b)] 1566 n, err := m.MarshalTo(b) 1567 if err != nil { 1568 return nil, err 1569 } 1570 return b[:n], nil 1571 } 1572} 1573func (dst *UpstreamConnectionOptions) XXX_Merge(src proto.Message) { 1574 xxx_messageInfo_UpstreamConnectionOptions.Merge(dst, src) 1575} 1576func (m *UpstreamConnectionOptions) XXX_Size() int { 1577 return m.Size() 1578} 1579func (m *UpstreamConnectionOptions) XXX_DiscardUnknown() { 1580 xxx_messageInfo_UpstreamConnectionOptions.DiscardUnknown(m) 1581} 1582 1583var xxx_messageInfo_UpstreamConnectionOptions proto.InternalMessageInfo 1584 1585func (m *UpstreamConnectionOptions) GetTcpKeepalive() *core.TcpKeepalive { 1586 if m != nil { 1587 return m.TcpKeepalive 1588 } 1589 return nil 1590} 1591 1592func init() { 1593 proto.RegisterType((*Cluster)(nil), "envoy.api.v2.Cluster") 1594 proto.RegisterMapType((map[string]*types.Struct)(nil), "envoy.api.v2.Cluster.ExtensionProtocolOptionsEntry") 1595 proto.RegisterType((*Cluster_EdsClusterConfig)(nil), "envoy.api.v2.Cluster.EdsClusterConfig") 1596 proto.RegisterType((*Cluster_LbSubsetConfig)(nil), "envoy.api.v2.Cluster.LbSubsetConfig") 1597 proto.RegisterType((*Cluster_LbSubsetConfig_LbSubsetSelector)(nil), "envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector") 1598 proto.RegisterType((*Cluster_RingHashLbConfig)(nil), "envoy.api.v2.Cluster.RingHashLbConfig") 1599 proto.RegisterType((*Cluster_RingHashLbConfig_DeprecatedV1)(nil), "envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1") 1600 proto.RegisterType((*Cluster_OriginalDstLbConfig)(nil), "envoy.api.v2.Cluster.OriginalDstLbConfig") 1601 proto.RegisterType((*Cluster_CommonLbConfig)(nil), "envoy.api.v2.Cluster.CommonLbConfig") 1602 proto.RegisterType((*Cluster_CommonLbConfig_ZoneAwareLbConfig)(nil), "envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig") 1603 proto.RegisterType((*Cluster_CommonLbConfig_LocalityWeightedLbConfig)(nil), "envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig") 1604 proto.RegisterType((*UpstreamBindConfig)(nil), "envoy.api.v2.UpstreamBindConfig") 1605 proto.RegisterType((*UpstreamConnectionOptions)(nil), "envoy.api.v2.UpstreamConnectionOptions") 1606 proto.RegisterEnum("envoy.api.v2.Cluster_DiscoveryType", Cluster_DiscoveryType_name, Cluster_DiscoveryType_value) 1607 proto.RegisterEnum("envoy.api.v2.Cluster_LbPolicy", Cluster_LbPolicy_name, Cluster_LbPolicy_value) 1608 proto.RegisterEnum("envoy.api.v2.Cluster_DnsLookupFamily", Cluster_DnsLookupFamily_name, Cluster_DnsLookupFamily_value) 1609 proto.RegisterEnum("envoy.api.v2.Cluster_ClusterProtocolSelection", Cluster_ClusterProtocolSelection_name, Cluster_ClusterProtocolSelection_value) 1610 proto.RegisterEnum("envoy.api.v2.Cluster_LbSubsetConfig_LbSubsetFallbackPolicy", Cluster_LbSubsetConfig_LbSubsetFallbackPolicy_name, Cluster_LbSubsetConfig_LbSubsetFallbackPolicy_value) 1611} 1612func (this *Cluster) Equal(that interface{}) bool { 1613 if that == nil { 1614 return this == nil 1615 } 1616 1617 that1, ok := that.(*Cluster) 1618 if !ok { 1619 that2, ok := that.(Cluster) 1620 if ok { 1621 that1 = &that2 1622 } else { 1623 return false 1624 } 1625 } 1626 if that1 == nil { 1627 return this == nil 1628 } else if this == nil { 1629 return false 1630 } 1631 if this.Name != that1.Name { 1632 return false 1633 } 1634 if this.AltStatName != that1.AltStatName { 1635 return false 1636 } 1637 if this.Type != that1.Type { 1638 return false 1639 } 1640 if !this.EdsClusterConfig.Equal(that1.EdsClusterConfig) { 1641 return false 1642 } 1643 if this.ConnectTimeout != that1.ConnectTimeout { 1644 return false 1645 } 1646 if !this.PerConnectionBufferLimitBytes.Equal(that1.PerConnectionBufferLimitBytes) { 1647 return false 1648 } 1649 if this.LbPolicy != that1.LbPolicy { 1650 return false 1651 } 1652 if len(this.Hosts) != len(that1.Hosts) { 1653 return false 1654 } 1655 for i := range this.Hosts { 1656 if !this.Hosts[i].Equal(that1.Hosts[i]) { 1657 return false 1658 } 1659 } 1660 if !this.LoadAssignment.Equal(that1.LoadAssignment) { 1661 return false 1662 } 1663 if len(this.HealthChecks) != len(that1.HealthChecks) { 1664 return false 1665 } 1666 for i := range this.HealthChecks { 1667 if !this.HealthChecks[i].Equal(that1.HealthChecks[i]) { 1668 return false 1669 } 1670 } 1671 if !this.MaxRequestsPerConnection.Equal(that1.MaxRequestsPerConnection) { 1672 return false 1673 } 1674 if !this.CircuitBreakers.Equal(that1.CircuitBreakers) { 1675 return false 1676 } 1677 if !this.TlsContext.Equal(that1.TlsContext) { 1678 return false 1679 } 1680 if !this.CommonHttpProtocolOptions.Equal(that1.CommonHttpProtocolOptions) { 1681 return false 1682 } 1683 if !this.HttpProtocolOptions.Equal(that1.HttpProtocolOptions) { 1684 return false 1685 } 1686 if !this.Http2ProtocolOptions.Equal(that1.Http2ProtocolOptions) { 1687 return false 1688 } 1689 if len(this.ExtensionProtocolOptions) != len(that1.ExtensionProtocolOptions) { 1690 return false 1691 } 1692 for i := range this.ExtensionProtocolOptions { 1693 if !this.ExtensionProtocolOptions[i].Equal(that1.ExtensionProtocolOptions[i]) { 1694 return false 1695 } 1696 } 1697 if this.DnsRefreshRate != nil && that1.DnsRefreshRate != nil { 1698 if *this.DnsRefreshRate != *that1.DnsRefreshRate { 1699 return false 1700 } 1701 } else if this.DnsRefreshRate != nil { 1702 return false 1703 } else if that1.DnsRefreshRate != nil { 1704 return false 1705 } 1706 if this.DnsLookupFamily != that1.DnsLookupFamily { 1707 return false 1708 } 1709 if len(this.DnsResolvers) != len(that1.DnsResolvers) { 1710 return false 1711 } 1712 for i := range this.DnsResolvers { 1713 if !this.DnsResolvers[i].Equal(that1.DnsResolvers[i]) { 1714 return false 1715 } 1716 } 1717 if !this.OutlierDetection.Equal(that1.OutlierDetection) { 1718 return false 1719 } 1720 if this.CleanupInterval != nil && that1.CleanupInterval != nil { 1721 if *this.CleanupInterval != *that1.CleanupInterval { 1722 return false 1723 } 1724 } else if this.CleanupInterval != nil { 1725 return false 1726 } else if that1.CleanupInterval != nil { 1727 return false 1728 } 1729 if !this.UpstreamBindConfig.Equal(that1.UpstreamBindConfig) { 1730 return false 1731 } 1732 if !this.LbSubsetConfig.Equal(that1.LbSubsetConfig) { 1733 return false 1734 } 1735 if that1.LbConfig == nil { 1736 if this.LbConfig != nil { 1737 return false 1738 } 1739 } else if this.LbConfig == nil { 1740 return false 1741 } else if !this.LbConfig.Equal(that1.LbConfig) { 1742 return false 1743 } 1744 if !this.CommonLbConfig.Equal(that1.CommonLbConfig) { 1745 return false 1746 } 1747 if !this.TransportSocket.Equal(that1.TransportSocket) { 1748 return false 1749 } 1750 if !this.Metadata.Equal(that1.Metadata) { 1751 return false 1752 } 1753 if this.ProtocolSelection != that1.ProtocolSelection { 1754 return false 1755 } 1756 if !this.UpstreamConnectionOptions.Equal(that1.UpstreamConnectionOptions) { 1757 return false 1758 } 1759 if this.CloseConnectionsOnHostHealthFailure != that1.CloseConnectionsOnHostHealthFailure { 1760 return false 1761 } 1762 if this.DrainConnectionsOnHostRemoval != that1.DrainConnectionsOnHostRemoval { 1763 return false 1764 } 1765 if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { 1766 return false 1767 } 1768 return true 1769} 1770func (this *Cluster_RingHashLbConfig_) Equal(that interface{}) bool { 1771 if that == nil { 1772 return this == nil 1773 } 1774 1775 that1, ok := that.(*Cluster_RingHashLbConfig_) 1776 if !ok { 1777 that2, ok := that.(Cluster_RingHashLbConfig_) 1778 if ok { 1779 that1 = &that2 1780 } else { 1781 return false 1782 } 1783 } 1784 if that1 == nil { 1785 return this == nil 1786 } else if this == nil { 1787 return false 1788 } 1789 if !this.RingHashLbConfig.Equal(that1.RingHashLbConfig) { 1790 return false 1791 } 1792 return true 1793} 1794func (this *Cluster_OriginalDstLbConfig_) Equal(that interface{}) bool { 1795 if that == nil { 1796 return this == nil 1797 } 1798 1799 that1, ok := that.(*Cluster_OriginalDstLbConfig_) 1800 if !ok { 1801 that2, ok := that.(Cluster_OriginalDstLbConfig_) 1802 if ok { 1803 that1 = &that2 1804 } else { 1805 return false 1806 } 1807 } 1808 if that1 == nil { 1809 return this == nil 1810 } else if this == nil { 1811 return false 1812 } 1813 if !this.OriginalDstLbConfig.Equal(that1.OriginalDstLbConfig) { 1814 return false 1815 } 1816 return true 1817} 1818func (this *Cluster_EdsClusterConfig) Equal(that interface{}) bool { 1819 if that == nil { 1820 return this == nil 1821 } 1822 1823 that1, ok := that.(*Cluster_EdsClusterConfig) 1824 if !ok { 1825 that2, ok := that.(Cluster_EdsClusterConfig) 1826 if ok { 1827 that1 = &that2 1828 } else { 1829 return false 1830 } 1831 } 1832 if that1 == nil { 1833 return this == nil 1834 } else if this == nil { 1835 return false 1836 } 1837 if !this.EdsConfig.Equal(that1.EdsConfig) { 1838 return false 1839 } 1840 if this.ServiceName != that1.ServiceName { 1841 return false 1842 } 1843 if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { 1844 return false 1845 } 1846 return true 1847} 1848func (this *Cluster_LbSubsetConfig) Equal(that interface{}) bool { 1849 if that == nil { 1850 return this == nil 1851 } 1852 1853 that1, ok := that.(*Cluster_LbSubsetConfig) 1854 if !ok { 1855 that2, ok := that.(Cluster_LbSubsetConfig) 1856 if ok { 1857 that1 = &that2 1858 } else { 1859 return false 1860 } 1861 } 1862 if that1 == nil { 1863 return this == nil 1864 } else if this == nil { 1865 return false 1866 } 1867 if this.FallbackPolicy != that1.FallbackPolicy { 1868 return false 1869 } 1870 if !this.DefaultSubset.Equal(that1.DefaultSubset) { 1871 return false 1872 } 1873 if len(this.SubsetSelectors) != len(that1.SubsetSelectors) { 1874 return false 1875 } 1876 for i := range this.SubsetSelectors { 1877 if !this.SubsetSelectors[i].Equal(that1.SubsetSelectors[i]) { 1878 return false 1879 } 1880 } 1881 if this.LocalityWeightAware != that1.LocalityWeightAware { 1882 return false 1883 } 1884 if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { 1885 return false 1886 } 1887 return true 1888} 1889func (this *Cluster_LbSubsetConfig_LbSubsetSelector) Equal(that interface{}) bool { 1890 if that == nil { 1891 return this == nil 1892 } 1893 1894 that1, ok := that.(*Cluster_LbSubsetConfig_LbSubsetSelector) 1895 if !ok { 1896 that2, ok := that.(Cluster_LbSubsetConfig_LbSubsetSelector) 1897 if ok { 1898 that1 = &that2 1899 } else { 1900 return false 1901 } 1902 } 1903 if that1 == nil { 1904 return this == nil 1905 } else if this == nil { 1906 return false 1907 } 1908 if len(this.Keys) != len(that1.Keys) { 1909 return false 1910 } 1911 for i := range this.Keys { 1912 if this.Keys[i] != that1.Keys[i] { 1913 return false 1914 } 1915 } 1916 if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { 1917 return false 1918 } 1919 return true 1920} 1921func (this *Cluster_RingHashLbConfig) Equal(that interface{}) bool { 1922 if that == nil { 1923 return this == nil 1924 } 1925 1926 that1, ok := that.(*Cluster_RingHashLbConfig) 1927 if !ok { 1928 that2, ok := that.(Cluster_RingHashLbConfig) 1929 if ok { 1930 that1 = &that2 1931 } else { 1932 return false 1933 } 1934 } 1935 if that1 == nil { 1936 return this == nil 1937 } else if this == nil { 1938 return false 1939 } 1940 if !this.MinimumRingSize.Equal(that1.MinimumRingSize) { 1941 return false 1942 } 1943 if !this.DeprecatedV1.Equal(that1.DeprecatedV1) { 1944 return false 1945 } 1946 if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { 1947 return false 1948 } 1949 return true 1950} 1951func (this *Cluster_RingHashLbConfig_DeprecatedV1) Equal(that interface{}) bool { 1952 if that == nil { 1953 return this == nil 1954 } 1955 1956 that1, ok := that.(*Cluster_RingHashLbConfig_DeprecatedV1) 1957 if !ok { 1958 that2, ok := that.(Cluster_RingHashLbConfig_DeprecatedV1) 1959 if ok { 1960 that1 = &that2 1961 } else { 1962 return false 1963 } 1964 } 1965 if that1 == nil { 1966 return this == nil 1967 } else if this == nil { 1968 return false 1969 } 1970 if !this.UseStdHash.Equal(that1.UseStdHash) { 1971 return false 1972 } 1973 if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { 1974 return false 1975 } 1976 return true 1977} 1978func (this *Cluster_OriginalDstLbConfig) Equal(that interface{}) bool { 1979 if that == nil { 1980 return this == nil 1981 } 1982 1983 that1, ok := that.(*Cluster_OriginalDstLbConfig) 1984 if !ok { 1985 that2, ok := that.(Cluster_OriginalDstLbConfig) 1986 if ok { 1987 that1 = &that2 1988 } else { 1989 return false 1990 } 1991 } 1992 if that1 == nil { 1993 return this == nil 1994 } else if this == nil { 1995 return false 1996 } 1997 if this.UseHttpHeader != that1.UseHttpHeader { 1998 return false 1999 } 2000 if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { 2001 return false 2002 } 2003 return true 2004} 2005func (this *Cluster_CommonLbConfig) Equal(that interface{}) bool { 2006 if that == nil { 2007 return this == nil 2008 } 2009 2010 that1, ok := that.(*Cluster_CommonLbConfig) 2011 if !ok { 2012 that2, ok := that.(Cluster_CommonLbConfig) 2013 if ok { 2014 that1 = &that2 2015 } else { 2016 return false 2017 } 2018 } 2019 if that1 == nil { 2020 return this == nil 2021 } else if this == nil { 2022 return false 2023 } 2024 if !this.HealthyPanicThreshold.Equal(that1.HealthyPanicThreshold) { 2025 return false 2026 } 2027 if that1.LocalityConfigSpecifier == nil { 2028 if this.LocalityConfigSpecifier != nil { 2029 return false 2030 } 2031 } else if this.LocalityConfigSpecifier == nil { 2032 return false 2033 } else if !this.LocalityConfigSpecifier.Equal(that1.LocalityConfigSpecifier) { 2034 return false 2035 } 2036 if !this.UpdateMergeWindow.Equal(that1.UpdateMergeWindow) { 2037 return false 2038 } 2039 if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { 2040 return false 2041 } 2042 return true 2043} 2044func (this *Cluster_CommonLbConfig_ZoneAwareLbConfig_) Equal(that interface{}) bool { 2045 if that == nil { 2046 return this == nil 2047 } 2048 2049 that1, ok := that.(*Cluster_CommonLbConfig_ZoneAwareLbConfig_) 2050 if !ok { 2051 that2, ok := that.(Cluster_CommonLbConfig_ZoneAwareLbConfig_) 2052 if ok { 2053 that1 = &that2 2054 } else { 2055 return false 2056 } 2057 } 2058 if that1 == nil { 2059 return this == nil 2060 } else if this == nil { 2061 return false 2062 } 2063 if !this.ZoneAwareLbConfig.Equal(that1.ZoneAwareLbConfig) { 2064 return false 2065 } 2066 return true 2067} 2068func (this *Cluster_CommonLbConfig_LocalityWeightedLbConfig_) Equal(that interface{}) bool { 2069 if that == nil { 2070 return this == nil 2071 } 2072 2073 that1, ok := that.(*Cluster_CommonLbConfig_LocalityWeightedLbConfig_) 2074 if !ok { 2075 that2, ok := that.(Cluster_CommonLbConfig_LocalityWeightedLbConfig_) 2076 if ok { 2077 that1 = &that2 2078 } else { 2079 return false 2080 } 2081 } 2082 if that1 == nil { 2083 return this == nil 2084 } else if this == nil { 2085 return false 2086 } 2087 if !this.LocalityWeightedLbConfig.Equal(that1.LocalityWeightedLbConfig) { 2088 return false 2089 } 2090 return true 2091} 2092func (this *Cluster_CommonLbConfig_ZoneAwareLbConfig) Equal(that interface{}) bool { 2093 if that == nil { 2094 return this == nil 2095 } 2096 2097 that1, ok := that.(*Cluster_CommonLbConfig_ZoneAwareLbConfig) 2098 if !ok { 2099 that2, ok := that.(Cluster_CommonLbConfig_ZoneAwareLbConfig) 2100 if ok { 2101 that1 = &that2 2102 } else { 2103 return false 2104 } 2105 } 2106 if that1 == nil { 2107 return this == nil 2108 } else if this == nil { 2109 return false 2110 } 2111 if !this.RoutingEnabled.Equal(that1.RoutingEnabled) { 2112 return false 2113 } 2114 if !this.MinClusterSize.Equal(that1.MinClusterSize) { 2115 return false 2116 } 2117 if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { 2118 return false 2119 } 2120 return true 2121} 2122func (this *Cluster_CommonLbConfig_LocalityWeightedLbConfig) Equal(that interface{}) bool { 2123 if that == nil { 2124 return this == nil 2125 } 2126 2127 that1, ok := that.(*Cluster_CommonLbConfig_LocalityWeightedLbConfig) 2128 if !ok { 2129 that2, ok := that.(Cluster_CommonLbConfig_LocalityWeightedLbConfig) 2130 if ok { 2131 that1 = &that2 2132 } else { 2133 return false 2134 } 2135 } 2136 if that1 == nil { 2137 return this == nil 2138 } else if this == nil { 2139 return false 2140 } 2141 if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { 2142 return false 2143 } 2144 return true 2145} 2146func (this *UpstreamBindConfig) Equal(that interface{}) bool { 2147 if that == nil { 2148 return this == nil 2149 } 2150 2151 that1, ok := that.(*UpstreamBindConfig) 2152 if !ok { 2153 that2, ok := that.(UpstreamBindConfig) 2154 if ok { 2155 that1 = &that2 2156 } else { 2157 return false 2158 } 2159 } 2160 if that1 == nil { 2161 return this == nil 2162 } else if this == nil { 2163 return false 2164 } 2165 if !this.SourceAddress.Equal(that1.SourceAddress) { 2166 return false 2167 } 2168 if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { 2169 return false 2170 } 2171 return true 2172} 2173func (this *UpstreamConnectionOptions) Equal(that interface{}) bool { 2174 if that == nil { 2175 return this == nil 2176 } 2177 2178 that1, ok := that.(*UpstreamConnectionOptions) 2179 if !ok { 2180 that2, ok := that.(UpstreamConnectionOptions) 2181 if ok { 2182 that1 = &that2 2183 } else { 2184 return false 2185 } 2186 } 2187 if that1 == nil { 2188 return this == nil 2189 } else if this == nil { 2190 return false 2191 } 2192 if !this.TcpKeepalive.Equal(that1.TcpKeepalive) { 2193 return false 2194 } 2195 if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { 2196 return false 2197 } 2198 return true 2199} 2200 2201// Reference imports to suppress errors if they are not otherwise used. 2202var _ context.Context 2203var _ grpc.ClientConn 2204 2205// This is a compile-time assertion to ensure that this generated file 2206// is compatible with the grpc package it is being compiled against. 2207const _ = grpc.SupportPackageIsVersion4 2208 2209// Client API for ClusterDiscoveryService service 2210 2211type ClusterDiscoveryServiceClient interface { 2212 StreamClusters(ctx context.Context, opts ...grpc.CallOption) (ClusterDiscoveryService_StreamClustersClient, error) 2213 IncrementalClusters(ctx context.Context, opts ...grpc.CallOption) (ClusterDiscoveryService_IncrementalClustersClient, error) 2214 FetchClusters(ctx context.Context, in *DiscoveryRequest, opts ...grpc.CallOption) (*DiscoveryResponse, error) 2215} 2216 2217type clusterDiscoveryServiceClient struct { 2218 cc *grpc.ClientConn 2219} 2220 2221func NewClusterDiscoveryServiceClient(cc *grpc.ClientConn) ClusterDiscoveryServiceClient { 2222 return &clusterDiscoveryServiceClient{cc} 2223} 2224 2225func (c *clusterDiscoveryServiceClient) StreamClusters(ctx context.Context, opts ...grpc.CallOption) (ClusterDiscoveryService_StreamClustersClient, error) { 2226 stream, err := c.cc.NewStream(ctx, &_ClusterDiscoveryService_serviceDesc.Streams[0], "/envoy.api.v2.ClusterDiscoveryService/StreamClusters", opts...) 2227 if err != nil { 2228 return nil, err 2229 } 2230 x := &clusterDiscoveryServiceStreamClustersClient{stream} 2231 return x, nil 2232} 2233 2234type ClusterDiscoveryService_StreamClustersClient interface { 2235 Send(*DiscoveryRequest) error 2236 Recv() (*DiscoveryResponse, error) 2237 grpc.ClientStream 2238} 2239 2240type clusterDiscoveryServiceStreamClustersClient struct { 2241 grpc.ClientStream 2242} 2243 2244func (x *clusterDiscoveryServiceStreamClustersClient) Send(m *DiscoveryRequest) error { 2245 return x.ClientStream.SendMsg(m) 2246} 2247 2248func (x *clusterDiscoveryServiceStreamClustersClient) Recv() (*DiscoveryResponse, error) { 2249 m := new(DiscoveryResponse) 2250 if err := x.ClientStream.RecvMsg(m); err != nil { 2251 return nil, err 2252 } 2253 return m, nil 2254} 2255 2256func (c *clusterDiscoveryServiceClient) IncrementalClusters(ctx context.Context, opts ...grpc.CallOption) (ClusterDiscoveryService_IncrementalClustersClient, error) { 2257 stream, err := c.cc.NewStream(ctx, &_ClusterDiscoveryService_serviceDesc.Streams[1], "/envoy.api.v2.ClusterDiscoveryService/IncrementalClusters", opts...) 2258 if err != nil { 2259 return nil, err 2260 } 2261 x := &clusterDiscoveryServiceIncrementalClustersClient{stream} 2262 return x, nil 2263} 2264 2265type ClusterDiscoveryService_IncrementalClustersClient interface { 2266 Send(*IncrementalDiscoveryRequest) error 2267 Recv() (*IncrementalDiscoveryResponse, error) 2268 grpc.ClientStream 2269} 2270 2271type clusterDiscoveryServiceIncrementalClustersClient struct { 2272 grpc.ClientStream 2273} 2274 2275func (x *clusterDiscoveryServiceIncrementalClustersClient) Send(m *IncrementalDiscoveryRequest) error { 2276 return x.ClientStream.SendMsg(m) 2277} 2278 2279func (x *clusterDiscoveryServiceIncrementalClustersClient) Recv() (*IncrementalDiscoveryResponse, error) { 2280 m := new(IncrementalDiscoveryResponse) 2281 if err := x.ClientStream.RecvMsg(m); err != nil { 2282 return nil, err 2283 } 2284 return m, nil 2285} 2286 2287func (c *clusterDiscoveryServiceClient) FetchClusters(ctx context.Context, in *DiscoveryRequest, opts ...grpc.CallOption) (*DiscoveryResponse, error) { 2288 out := new(DiscoveryResponse) 2289 err := c.cc.Invoke(ctx, "/envoy.api.v2.ClusterDiscoveryService/FetchClusters", in, out, opts...) 2290 if err != nil { 2291 return nil, err 2292 } 2293 return out, nil 2294} 2295 2296// Server API for ClusterDiscoveryService service 2297 2298type ClusterDiscoveryServiceServer interface { 2299 StreamClusters(ClusterDiscoveryService_StreamClustersServer) error 2300 IncrementalClusters(ClusterDiscoveryService_IncrementalClustersServer) error 2301 FetchClusters(context.Context, *DiscoveryRequest) (*DiscoveryResponse, error) 2302} 2303 2304func RegisterClusterDiscoveryServiceServer(s *grpc.Server, srv ClusterDiscoveryServiceServer) { 2305 s.RegisterService(&_ClusterDiscoveryService_serviceDesc, srv) 2306} 2307 2308func _ClusterDiscoveryService_StreamClusters_Handler(srv interface{}, stream grpc.ServerStream) error { 2309 return srv.(ClusterDiscoveryServiceServer).StreamClusters(&clusterDiscoveryServiceStreamClustersServer{stream}) 2310} 2311 2312type ClusterDiscoveryService_StreamClustersServer interface { 2313 Send(*DiscoveryResponse) error 2314 Recv() (*DiscoveryRequest, error) 2315 grpc.ServerStream 2316} 2317 2318type clusterDiscoveryServiceStreamClustersServer struct { 2319 grpc.ServerStream 2320} 2321 2322func (x *clusterDiscoveryServiceStreamClustersServer) Send(m *DiscoveryResponse) error { 2323 return x.ServerStream.SendMsg(m) 2324} 2325 2326func (x *clusterDiscoveryServiceStreamClustersServer) Recv() (*DiscoveryRequest, error) { 2327 m := new(DiscoveryRequest) 2328 if err := x.ServerStream.RecvMsg(m); err != nil { 2329 return nil, err 2330 } 2331 return m, nil 2332} 2333 2334func _ClusterDiscoveryService_IncrementalClusters_Handler(srv interface{}, stream grpc.ServerStream) error { 2335 return srv.(ClusterDiscoveryServiceServer).IncrementalClusters(&clusterDiscoveryServiceIncrementalClustersServer{stream}) 2336} 2337 2338type ClusterDiscoveryService_IncrementalClustersServer interface { 2339 Send(*IncrementalDiscoveryResponse) error 2340 Recv() (*IncrementalDiscoveryRequest, error) 2341 grpc.ServerStream 2342} 2343 2344type clusterDiscoveryServiceIncrementalClustersServer struct { 2345 grpc.ServerStream 2346} 2347 2348func (x *clusterDiscoveryServiceIncrementalClustersServer) Send(m *IncrementalDiscoveryResponse) error { 2349 return x.ServerStream.SendMsg(m) 2350} 2351 2352func (x *clusterDiscoveryServiceIncrementalClustersServer) Recv() (*IncrementalDiscoveryRequest, error) { 2353 m := new(IncrementalDiscoveryRequest) 2354 if err := x.ServerStream.RecvMsg(m); err != nil { 2355 return nil, err 2356 } 2357 return m, nil 2358} 2359 2360func _ClusterDiscoveryService_FetchClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2361 in := new(DiscoveryRequest) 2362 if err := dec(in); err != nil { 2363 return nil, err 2364 } 2365 if interceptor == nil { 2366 return srv.(ClusterDiscoveryServiceServer).FetchClusters(ctx, in) 2367 } 2368 info := &grpc.UnaryServerInfo{ 2369 Server: srv, 2370 FullMethod: "/envoy.api.v2.ClusterDiscoveryService/FetchClusters", 2371 } 2372 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2373 return srv.(ClusterDiscoveryServiceServer).FetchClusters(ctx, req.(*DiscoveryRequest)) 2374 } 2375 return interceptor(ctx, in, info, handler) 2376} 2377 2378var _ClusterDiscoveryService_serviceDesc = grpc.ServiceDesc{ 2379 ServiceName: "envoy.api.v2.ClusterDiscoveryService", 2380 HandlerType: (*ClusterDiscoveryServiceServer)(nil), 2381 Methods: []grpc.MethodDesc{ 2382 { 2383 MethodName: "FetchClusters", 2384 Handler: _ClusterDiscoveryService_FetchClusters_Handler, 2385 }, 2386 }, 2387 Streams: []grpc.StreamDesc{ 2388 { 2389 StreamName: "StreamClusters", 2390 Handler: _ClusterDiscoveryService_StreamClusters_Handler, 2391 ServerStreams: true, 2392 ClientStreams: true, 2393 }, 2394 { 2395 StreamName: "IncrementalClusters", 2396 Handler: _ClusterDiscoveryService_IncrementalClusters_Handler, 2397 ServerStreams: true, 2398 ClientStreams: true, 2399 }, 2400 }, 2401 Metadata: "envoy/api/v2/cds.proto", 2402} 2403 2404func (m *Cluster) Marshal() (dAtA []byte, err error) { 2405 size := m.Size() 2406 dAtA = make([]byte, size) 2407 n, err := m.MarshalTo(dAtA) 2408 if err != nil { 2409 return nil, err 2410 } 2411 return dAtA[:n], nil 2412} 2413 2414func (m *Cluster) MarshalTo(dAtA []byte) (int, error) { 2415 var i int 2416 _ = i 2417 var l int 2418 _ = l 2419 if len(m.Name) > 0 { 2420 dAtA[i] = 0xa 2421 i++ 2422 i = encodeVarintCds(dAtA, i, uint64(len(m.Name))) 2423 i += copy(dAtA[i:], m.Name) 2424 } 2425 if m.Type != 0 { 2426 dAtA[i] = 0x10 2427 i++ 2428 i = encodeVarintCds(dAtA, i, uint64(m.Type)) 2429 } 2430 if m.EdsClusterConfig != nil { 2431 dAtA[i] = 0x1a 2432 i++ 2433 i = encodeVarintCds(dAtA, i, uint64(m.EdsClusterConfig.Size())) 2434 n1, err := m.EdsClusterConfig.MarshalTo(dAtA[i:]) 2435 if err != nil { 2436 return 0, err 2437 } 2438 i += n1 2439 } 2440 dAtA[i] = 0x22 2441 i++ 2442 i = encodeVarintCds(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdDuration(m.ConnectTimeout))) 2443 n2, err := github_com_gogo_protobuf_types.StdDurationMarshalTo(m.ConnectTimeout, dAtA[i:]) 2444 if err != nil { 2445 return 0, err 2446 } 2447 i += n2 2448 if m.PerConnectionBufferLimitBytes != nil { 2449 dAtA[i] = 0x2a 2450 i++ 2451 i = encodeVarintCds(dAtA, i, uint64(m.PerConnectionBufferLimitBytes.Size())) 2452 n3, err := m.PerConnectionBufferLimitBytes.MarshalTo(dAtA[i:]) 2453 if err != nil { 2454 return 0, err 2455 } 2456 i += n3 2457 } 2458 if m.LbPolicy != 0 { 2459 dAtA[i] = 0x30 2460 i++ 2461 i = encodeVarintCds(dAtA, i, uint64(m.LbPolicy)) 2462 } 2463 if len(m.Hosts) > 0 { 2464 for _, msg := range m.Hosts { 2465 dAtA[i] = 0x3a 2466 i++ 2467 i = encodeVarintCds(dAtA, i, uint64(msg.Size())) 2468 n, err := msg.MarshalTo(dAtA[i:]) 2469 if err != nil { 2470 return 0, err 2471 } 2472 i += n 2473 } 2474 } 2475 if len(m.HealthChecks) > 0 { 2476 for _, msg := range m.HealthChecks { 2477 dAtA[i] = 0x42 2478 i++ 2479 i = encodeVarintCds(dAtA, i, uint64(msg.Size())) 2480 n, err := msg.MarshalTo(dAtA[i:]) 2481 if err != nil { 2482 return 0, err 2483 } 2484 i += n 2485 } 2486 } 2487 if m.MaxRequestsPerConnection != nil { 2488 dAtA[i] = 0x4a 2489 i++ 2490 i = encodeVarintCds(dAtA, i, uint64(m.MaxRequestsPerConnection.Size())) 2491 n4, err := m.MaxRequestsPerConnection.MarshalTo(dAtA[i:]) 2492 if err != nil { 2493 return 0, err 2494 } 2495 i += n4 2496 } 2497 if m.CircuitBreakers != nil { 2498 dAtA[i] = 0x52 2499 i++ 2500 i = encodeVarintCds(dAtA, i, uint64(m.CircuitBreakers.Size())) 2501 n5, err := m.CircuitBreakers.MarshalTo(dAtA[i:]) 2502 if err != nil { 2503 return 0, err 2504 } 2505 i += n5 2506 } 2507 if m.TlsContext != nil { 2508 dAtA[i] = 0x5a 2509 i++ 2510 i = encodeVarintCds(dAtA, i, uint64(m.TlsContext.Size())) 2511 n6, err := m.TlsContext.MarshalTo(dAtA[i:]) 2512 if err != nil { 2513 return 0, err 2514 } 2515 i += n6 2516 } 2517 if m.HttpProtocolOptions != nil { 2518 dAtA[i] = 0x6a 2519 i++ 2520 i = encodeVarintCds(dAtA, i, uint64(m.HttpProtocolOptions.Size())) 2521 n7, err := m.HttpProtocolOptions.MarshalTo(dAtA[i:]) 2522 if err != nil { 2523 return 0, err 2524 } 2525 i += n7 2526 } 2527 if m.Http2ProtocolOptions != nil { 2528 dAtA[i] = 0x72 2529 i++ 2530 i = encodeVarintCds(dAtA, i, uint64(m.Http2ProtocolOptions.Size())) 2531 n8, err := m.Http2ProtocolOptions.MarshalTo(dAtA[i:]) 2532 if err != nil { 2533 return 0, err 2534 } 2535 i += n8 2536 } 2537 if m.DnsRefreshRate != nil { 2538 dAtA[i] = 0x82 2539 i++ 2540 dAtA[i] = 0x1 2541 i++ 2542 i = encodeVarintCds(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdDuration(*m.DnsRefreshRate))) 2543 n9, err := github_com_gogo_protobuf_types.StdDurationMarshalTo(*m.DnsRefreshRate, dAtA[i:]) 2544 if err != nil { 2545 return 0, err 2546 } 2547 i += n9 2548 } 2549 if m.DnsLookupFamily != 0 { 2550 dAtA[i] = 0x88 2551 i++ 2552 dAtA[i] = 0x1 2553 i++ 2554 i = encodeVarintCds(dAtA, i, uint64(m.DnsLookupFamily)) 2555 } 2556 if len(m.DnsResolvers) > 0 { 2557 for _, msg := range m.DnsResolvers { 2558 dAtA[i] = 0x92 2559 i++ 2560 dAtA[i] = 0x1 2561 i++ 2562 i = encodeVarintCds(dAtA, i, uint64(msg.Size())) 2563 n, err := msg.MarshalTo(dAtA[i:]) 2564 if err != nil { 2565 return 0, err 2566 } 2567 i += n 2568 } 2569 } 2570 if m.OutlierDetection != nil { 2571 dAtA[i] = 0x9a 2572 i++ 2573 dAtA[i] = 0x1 2574 i++ 2575 i = encodeVarintCds(dAtA, i, uint64(m.OutlierDetection.Size())) 2576 n10, err := m.OutlierDetection.MarshalTo(dAtA[i:]) 2577 if err != nil { 2578 return 0, err 2579 } 2580 i += n10 2581 } 2582 if m.CleanupInterval != nil { 2583 dAtA[i] = 0xa2 2584 i++ 2585 dAtA[i] = 0x1 2586 i++ 2587 i = encodeVarintCds(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdDuration(*m.CleanupInterval))) 2588 n11, err := github_com_gogo_protobuf_types.StdDurationMarshalTo(*m.CleanupInterval, dAtA[i:]) 2589 if err != nil { 2590 return 0, err 2591 } 2592 i += n11 2593 } 2594 if m.UpstreamBindConfig != nil { 2595 dAtA[i] = 0xaa 2596 i++ 2597 dAtA[i] = 0x1 2598 i++ 2599 i = encodeVarintCds(dAtA, i, uint64(m.UpstreamBindConfig.Size())) 2600 n12, err := m.UpstreamBindConfig.MarshalTo(dAtA[i:]) 2601 if err != nil { 2602 return 0, err 2603 } 2604 i += n12 2605 } 2606 if m.LbSubsetConfig != nil { 2607 dAtA[i] = 0xb2 2608 i++ 2609 dAtA[i] = 0x1 2610 i++ 2611 i = encodeVarintCds(dAtA, i, uint64(m.LbSubsetConfig.Size())) 2612 n13, err := m.LbSubsetConfig.MarshalTo(dAtA[i:]) 2613 if err != nil { 2614 return 0, err 2615 } 2616 i += n13 2617 } 2618 if m.LbConfig != nil { 2619 nn14, err := m.LbConfig.MarshalTo(dAtA[i:]) 2620 if err != nil { 2621 return 0, err 2622 } 2623 i += nn14 2624 } 2625 if m.TransportSocket != nil { 2626 dAtA[i] = 0xc2 2627 i++ 2628 dAtA[i] = 0x1 2629 i++ 2630 i = encodeVarintCds(dAtA, i, uint64(m.TransportSocket.Size())) 2631 n15, err := m.TransportSocket.MarshalTo(dAtA[i:]) 2632 if err != nil { 2633 return 0, err 2634 } 2635 i += n15 2636 } 2637 if m.Metadata != nil { 2638 dAtA[i] = 0xca 2639 i++ 2640 dAtA[i] = 0x1 2641 i++ 2642 i = encodeVarintCds(dAtA, i, uint64(m.Metadata.Size())) 2643 n16, err := m.Metadata.MarshalTo(dAtA[i:]) 2644 if err != nil { 2645 return 0, err 2646 } 2647 i += n16 2648 } 2649 if m.ProtocolSelection != 0 { 2650 dAtA[i] = 0xd0 2651 i++ 2652 dAtA[i] = 0x1 2653 i++ 2654 i = encodeVarintCds(dAtA, i, uint64(m.ProtocolSelection)) 2655 } 2656 if m.CommonLbConfig != nil { 2657 dAtA[i] = 0xda 2658 i++ 2659 dAtA[i] = 0x1 2660 i++ 2661 i = encodeVarintCds(dAtA, i, uint64(m.CommonLbConfig.Size())) 2662 n17, err := m.CommonLbConfig.MarshalTo(dAtA[i:]) 2663 if err != nil { 2664 return 0, err 2665 } 2666 i += n17 2667 } 2668 if len(m.AltStatName) > 0 { 2669 dAtA[i] = 0xe2 2670 i++ 2671 dAtA[i] = 0x1 2672 i++ 2673 i = encodeVarintCds(dAtA, i, uint64(len(m.AltStatName))) 2674 i += copy(dAtA[i:], m.AltStatName) 2675 } 2676 if m.CommonHttpProtocolOptions != nil { 2677 dAtA[i] = 0xea 2678 i++ 2679 dAtA[i] = 0x1 2680 i++ 2681 i = encodeVarintCds(dAtA, i, uint64(m.CommonHttpProtocolOptions.Size())) 2682 n18, err := m.CommonHttpProtocolOptions.MarshalTo(dAtA[i:]) 2683 if err != nil { 2684 return 0, err 2685 } 2686 i += n18 2687 } 2688 if m.UpstreamConnectionOptions != nil { 2689 dAtA[i] = 0xf2 2690 i++ 2691 dAtA[i] = 0x1 2692 i++ 2693 i = encodeVarintCds(dAtA, i, uint64(m.UpstreamConnectionOptions.Size())) 2694 n19, err := m.UpstreamConnectionOptions.MarshalTo(dAtA[i:]) 2695 if err != nil { 2696 return 0, err 2697 } 2698 i += n19 2699 } 2700 if m.CloseConnectionsOnHostHealthFailure { 2701 dAtA[i] = 0xf8 2702 i++ 2703 dAtA[i] = 0x1 2704 i++ 2705 if m.CloseConnectionsOnHostHealthFailure { 2706 dAtA[i] = 1 2707 } else { 2708 dAtA[i] = 0 2709 } 2710 i++ 2711 } 2712 if m.DrainConnectionsOnHostRemoval { 2713 dAtA[i] = 0x80 2714 i++ 2715 dAtA[i] = 0x2 2716 i++ 2717 if m.DrainConnectionsOnHostRemoval { 2718 dAtA[i] = 1 2719 } else { 2720 dAtA[i] = 0 2721 } 2722 i++ 2723 } 2724 if m.LoadAssignment != nil { 2725 dAtA[i] = 0x8a 2726 i++ 2727 dAtA[i] = 0x2 2728 i++ 2729 i = encodeVarintCds(dAtA, i, uint64(m.LoadAssignment.Size())) 2730 n20, err := m.LoadAssignment.MarshalTo(dAtA[i:]) 2731 if err != nil { 2732 return 0, err 2733 } 2734 i += n20 2735 } 2736 if len(m.ExtensionProtocolOptions) > 0 { 2737 for k, _ := range m.ExtensionProtocolOptions { 2738 dAtA[i] = 0x9a 2739 i++ 2740 dAtA[i] = 0x2 2741 i++ 2742 v := m.ExtensionProtocolOptions[k] 2743 msgSize := 0 2744 if v != nil { 2745 msgSize = v.Size() 2746 msgSize += 1 + sovCds(uint64(msgSize)) 2747 } 2748 mapSize := 1 + len(k) + sovCds(uint64(len(k))) + msgSize 2749 i = encodeVarintCds(dAtA, i, uint64(mapSize)) 2750 dAtA[i] = 0xa 2751 i++ 2752 i = encodeVarintCds(dAtA, i, uint64(len(k))) 2753 i += copy(dAtA[i:], k) 2754 if v != nil { 2755 dAtA[i] = 0x12 2756 i++ 2757 i = encodeVarintCds(dAtA, i, uint64(v.Size())) 2758 n21, err := v.MarshalTo(dAtA[i:]) 2759 if err != nil { 2760 return 0, err 2761 } 2762 i += n21 2763 } 2764 } 2765 } 2766 if m.XXX_unrecognized != nil { 2767 i += copy(dAtA[i:], m.XXX_unrecognized) 2768 } 2769 return i, nil 2770} 2771 2772func (m *Cluster_RingHashLbConfig_) MarshalTo(dAtA []byte) (int, error) { 2773 i := 0 2774 if m.RingHashLbConfig != nil { 2775 dAtA[i] = 0xba 2776 i++ 2777 dAtA[i] = 0x1 2778 i++ 2779 i = encodeVarintCds(dAtA, i, uint64(m.RingHashLbConfig.Size())) 2780 n22, err := m.RingHashLbConfig.MarshalTo(dAtA[i:]) 2781 if err != nil { 2782 return 0, err 2783 } 2784 i += n22 2785 } 2786 return i, nil 2787} 2788func (m *Cluster_OriginalDstLbConfig_) MarshalTo(dAtA []byte) (int, error) { 2789 i := 0 2790 if m.OriginalDstLbConfig != nil { 2791 dAtA[i] = 0x92 2792 i++ 2793 dAtA[i] = 0x2 2794 i++ 2795 i = encodeVarintCds(dAtA, i, uint64(m.OriginalDstLbConfig.Size())) 2796 n23, err := m.OriginalDstLbConfig.MarshalTo(dAtA[i:]) 2797 if err != nil { 2798 return 0, err 2799 } 2800 i += n23 2801 } 2802 return i, nil 2803} 2804func (m *Cluster_EdsClusterConfig) Marshal() (dAtA []byte, err error) { 2805 size := m.Size() 2806 dAtA = make([]byte, size) 2807 n, err := m.MarshalTo(dAtA) 2808 if err != nil { 2809 return nil, err 2810 } 2811 return dAtA[:n], nil 2812} 2813 2814func (m *Cluster_EdsClusterConfig) MarshalTo(dAtA []byte) (int, error) { 2815 var i int 2816 _ = i 2817 var l int 2818 _ = l 2819 if m.EdsConfig != nil { 2820 dAtA[i] = 0xa 2821 i++ 2822 i = encodeVarintCds(dAtA, i, uint64(m.EdsConfig.Size())) 2823 n24, err := m.EdsConfig.MarshalTo(dAtA[i:]) 2824 if err != nil { 2825 return 0, err 2826 } 2827 i += n24 2828 } 2829 if len(m.ServiceName) > 0 { 2830 dAtA[i] = 0x12 2831 i++ 2832 i = encodeVarintCds(dAtA, i, uint64(len(m.ServiceName))) 2833 i += copy(dAtA[i:], m.ServiceName) 2834 } 2835 if m.XXX_unrecognized != nil { 2836 i += copy(dAtA[i:], m.XXX_unrecognized) 2837 } 2838 return i, nil 2839} 2840 2841func (m *Cluster_LbSubsetConfig) Marshal() (dAtA []byte, err error) { 2842 size := m.Size() 2843 dAtA = make([]byte, size) 2844 n, err := m.MarshalTo(dAtA) 2845 if err != nil { 2846 return nil, err 2847 } 2848 return dAtA[:n], nil 2849} 2850 2851func (m *Cluster_LbSubsetConfig) MarshalTo(dAtA []byte) (int, error) { 2852 var i int 2853 _ = i 2854 var l int 2855 _ = l 2856 if m.FallbackPolicy != 0 { 2857 dAtA[i] = 0x8 2858 i++ 2859 i = encodeVarintCds(dAtA, i, uint64(m.FallbackPolicy)) 2860 } 2861 if m.DefaultSubset != nil { 2862 dAtA[i] = 0x12 2863 i++ 2864 i = encodeVarintCds(dAtA, i, uint64(m.DefaultSubset.Size())) 2865 n25, err := m.DefaultSubset.MarshalTo(dAtA[i:]) 2866 if err != nil { 2867 return 0, err 2868 } 2869 i += n25 2870 } 2871 if len(m.SubsetSelectors) > 0 { 2872 for _, msg := range m.SubsetSelectors { 2873 dAtA[i] = 0x1a 2874 i++ 2875 i = encodeVarintCds(dAtA, i, uint64(msg.Size())) 2876 n, err := msg.MarshalTo(dAtA[i:]) 2877 if err != nil { 2878 return 0, err 2879 } 2880 i += n 2881 } 2882 } 2883 if m.LocalityWeightAware { 2884 dAtA[i] = 0x20 2885 i++ 2886 if m.LocalityWeightAware { 2887 dAtA[i] = 1 2888 } else { 2889 dAtA[i] = 0 2890 } 2891 i++ 2892 } 2893 if m.XXX_unrecognized != nil { 2894 i += copy(dAtA[i:], m.XXX_unrecognized) 2895 } 2896 return i, nil 2897} 2898 2899func (m *Cluster_LbSubsetConfig_LbSubsetSelector) Marshal() (dAtA []byte, err error) { 2900 size := m.Size() 2901 dAtA = make([]byte, size) 2902 n, err := m.MarshalTo(dAtA) 2903 if err != nil { 2904 return nil, err 2905 } 2906 return dAtA[:n], nil 2907} 2908 2909func (m *Cluster_LbSubsetConfig_LbSubsetSelector) MarshalTo(dAtA []byte) (int, error) { 2910 var i int 2911 _ = i 2912 var l int 2913 _ = l 2914 if len(m.Keys) > 0 { 2915 for _, s := range m.Keys { 2916 dAtA[i] = 0xa 2917 i++ 2918 l = len(s) 2919 for l >= 1<<7 { 2920 dAtA[i] = uint8(uint64(l)&0x7f | 0x80) 2921 l >>= 7 2922 i++ 2923 } 2924 dAtA[i] = uint8(l) 2925 i++ 2926 i += copy(dAtA[i:], s) 2927 } 2928 } 2929 if m.XXX_unrecognized != nil { 2930 i += copy(dAtA[i:], m.XXX_unrecognized) 2931 } 2932 return i, nil 2933} 2934 2935func (m *Cluster_RingHashLbConfig) Marshal() (dAtA []byte, err error) { 2936 size := m.Size() 2937 dAtA = make([]byte, size) 2938 n, err := m.MarshalTo(dAtA) 2939 if err != nil { 2940 return nil, err 2941 } 2942 return dAtA[:n], nil 2943} 2944 2945func (m *Cluster_RingHashLbConfig) MarshalTo(dAtA []byte) (int, error) { 2946 var i int 2947 _ = i 2948 var l int 2949 _ = l 2950 if m.MinimumRingSize != nil { 2951 dAtA[i] = 0xa 2952 i++ 2953 i = encodeVarintCds(dAtA, i, uint64(m.MinimumRingSize.Size())) 2954 n26, err := m.MinimumRingSize.MarshalTo(dAtA[i:]) 2955 if err != nil { 2956 return 0, err 2957 } 2958 i += n26 2959 } 2960 if m.DeprecatedV1 != nil { 2961 dAtA[i] = 0x12 2962 i++ 2963 i = encodeVarintCds(dAtA, i, uint64(m.DeprecatedV1.Size())) 2964 n27, err := m.DeprecatedV1.MarshalTo(dAtA[i:]) 2965 if err != nil { 2966 return 0, err 2967 } 2968 i += n27 2969 } 2970 if m.XXX_unrecognized != nil { 2971 i += copy(dAtA[i:], m.XXX_unrecognized) 2972 } 2973 return i, nil 2974} 2975 2976func (m *Cluster_RingHashLbConfig_DeprecatedV1) Marshal() (dAtA []byte, err error) { 2977 size := m.Size() 2978 dAtA = make([]byte, size) 2979 n, err := m.MarshalTo(dAtA) 2980 if err != nil { 2981 return nil, err 2982 } 2983 return dAtA[:n], nil 2984} 2985 2986func (m *Cluster_RingHashLbConfig_DeprecatedV1) MarshalTo(dAtA []byte) (int, error) { 2987 var i int 2988 _ = i 2989 var l int 2990 _ = l 2991 if m.UseStdHash != nil { 2992 dAtA[i] = 0xa 2993 i++ 2994 i = encodeVarintCds(dAtA, i, uint64(m.UseStdHash.Size())) 2995 n28, err := m.UseStdHash.MarshalTo(dAtA[i:]) 2996 if err != nil { 2997 return 0, err 2998 } 2999 i += n28 3000 } 3001 if m.XXX_unrecognized != nil { 3002 i += copy(dAtA[i:], m.XXX_unrecognized) 3003 } 3004 return i, nil 3005} 3006 3007func (m *Cluster_OriginalDstLbConfig) Marshal() (dAtA []byte, err error) { 3008 size := m.Size() 3009 dAtA = make([]byte, size) 3010 n, err := m.MarshalTo(dAtA) 3011 if err != nil { 3012 return nil, err 3013 } 3014 return dAtA[:n], nil 3015} 3016 3017func (m *Cluster_OriginalDstLbConfig) MarshalTo(dAtA []byte) (int, error) { 3018 var i int 3019 _ = i 3020 var l int 3021 _ = l 3022 if m.UseHttpHeader { 3023 dAtA[i] = 0x8 3024 i++ 3025 if m.UseHttpHeader { 3026 dAtA[i] = 1 3027 } else { 3028 dAtA[i] = 0 3029 } 3030 i++ 3031 } 3032 if m.XXX_unrecognized != nil { 3033 i += copy(dAtA[i:], m.XXX_unrecognized) 3034 } 3035 return i, nil 3036} 3037 3038func (m *Cluster_CommonLbConfig) Marshal() (dAtA []byte, err error) { 3039 size := m.Size() 3040 dAtA = make([]byte, size) 3041 n, err := m.MarshalTo(dAtA) 3042 if err != nil { 3043 return nil, err 3044 } 3045 return dAtA[:n], nil 3046} 3047 3048func (m *Cluster_CommonLbConfig) MarshalTo(dAtA []byte) (int, error) { 3049 var i int 3050 _ = i 3051 var l int 3052 _ = l 3053 if m.HealthyPanicThreshold != nil { 3054 dAtA[i] = 0xa 3055 i++ 3056 i = encodeVarintCds(dAtA, i, uint64(m.HealthyPanicThreshold.Size())) 3057 n29, err := m.HealthyPanicThreshold.MarshalTo(dAtA[i:]) 3058 if err != nil { 3059 return 0, err 3060 } 3061 i += n29 3062 } 3063 if m.LocalityConfigSpecifier != nil { 3064 nn30, err := m.LocalityConfigSpecifier.MarshalTo(dAtA[i:]) 3065 if err != nil { 3066 return 0, err 3067 } 3068 i += nn30 3069 } 3070 if m.UpdateMergeWindow != nil { 3071 dAtA[i] = 0x22 3072 i++ 3073 i = encodeVarintCds(dAtA, i, uint64(m.UpdateMergeWindow.Size())) 3074 n31, err := m.UpdateMergeWindow.MarshalTo(dAtA[i:]) 3075 if err != nil { 3076 return 0, err 3077 } 3078 i += n31 3079 } 3080 if m.XXX_unrecognized != nil { 3081 i += copy(dAtA[i:], m.XXX_unrecognized) 3082 } 3083 return i, nil 3084} 3085 3086func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig_) MarshalTo(dAtA []byte) (int, error) { 3087 i := 0 3088 if m.ZoneAwareLbConfig != nil { 3089 dAtA[i] = 0x12 3090 i++ 3091 i = encodeVarintCds(dAtA, i, uint64(m.ZoneAwareLbConfig.Size())) 3092 n32, err := m.ZoneAwareLbConfig.MarshalTo(dAtA[i:]) 3093 if err != nil { 3094 return 0, err 3095 } 3096 i += n32 3097 } 3098 return i, nil 3099} 3100func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig_) MarshalTo(dAtA []byte) (int, error) { 3101 i := 0 3102 if m.LocalityWeightedLbConfig != nil { 3103 dAtA[i] = 0x1a 3104 i++ 3105 i = encodeVarintCds(dAtA, i, uint64(m.LocalityWeightedLbConfig.Size())) 3106 n33, err := m.LocalityWeightedLbConfig.MarshalTo(dAtA[i:]) 3107 if err != nil { 3108 return 0, err 3109 } 3110 i += n33 3111 } 3112 return i, nil 3113} 3114func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) Marshal() (dAtA []byte, err error) { 3115 size := m.Size() 3116 dAtA = make([]byte, size) 3117 n, err := m.MarshalTo(dAtA) 3118 if err != nil { 3119 return nil, err 3120 } 3121 return dAtA[:n], nil 3122} 3123 3124func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) MarshalTo(dAtA []byte) (int, error) { 3125 var i int 3126 _ = i 3127 var l int 3128 _ = l 3129 if m.RoutingEnabled != nil { 3130 dAtA[i] = 0xa 3131 i++ 3132 i = encodeVarintCds(dAtA, i, uint64(m.RoutingEnabled.Size())) 3133 n34, err := m.RoutingEnabled.MarshalTo(dAtA[i:]) 3134 if err != nil { 3135 return 0, err 3136 } 3137 i += n34 3138 } 3139 if m.MinClusterSize != nil { 3140 dAtA[i] = 0x12 3141 i++ 3142 i = encodeVarintCds(dAtA, i, uint64(m.MinClusterSize.Size())) 3143 n35, err := m.MinClusterSize.MarshalTo(dAtA[i:]) 3144 if err != nil { 3145 return 0, err 3146 } 3147 i += n35 3148 } 3149 if m.XXX_unrecognized != nil { 3150 i += copy(dAtA[i:], m.XXX_unrecognized) 3151 } 3152 return i, nil 3153} 3154 3155func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) Marshal() (dAtA []byte, err error) { 3156 size := m.Size() 3157 dAtA = make([]byte, size) 3158 n, err := m.MarshalTo(dAtA) 3159 if err != nil { 3160 return nil, err 3161 } 3162 return dAtA[:n], nil 3163} 3164 3165func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) MarshalTo(dAtA []byte) (int, error) { 3166 var i int 3167 _ = i 3168 var l int 3169 _ = l 3170 if m.XXX_unrecognized != nil { 3171 i += copy(dAtA[i:], m.XXX_unrecognized) 3172 } 3173 return i, nil 3174} 3175 3176func (m *UpstreamBindConfig) Marshal() (dAtA []byte, err error) { 3177 size := m.Size() 3178 dAtA = make([]byte, size) 3179 n, err := m.MarshalTo(dAtA) 3180 if err != nil { 3181 return nil, err 3182 } 3183 return dAtA[:n], nil 3184} 3185 3186func (m *UpstreamBindConfig) MarshalTo(dAtA []byte) (int, error) { 3187 var i int 3188 _ = i 3189 var l int 3190 _ = l 3191 if m.SourceAddress != nil { 3192 dAtA[i] = 0xa 3193 i++ 3194 i = encodeVarintCds(dAtA, i, uint64(m.SourceAddress.Size())) 3195 n36, err := m.SourceAddress.MarshalTo(dAtA[i:]) 3196 if err != nil { 3197 return 0, err 3198 } 3199 i += n36 3200 } 3201 if m.XXX_unrecognized != nil { 3202 i += copy(dAtA[i:], m.XXX_unrecognized) 3203 } 3204 return i, nil 3205} 3206 3207func (m *UpstreamConnectionOptions) Marshal() (dAtA []byte, err error) { 3208 size := m.Size() 3209 dAtA = make([]byte, size) 3210 n, err := m.MarshalTo(dAtA) 3211 if err != nil { 3212 return nil, err 3213 } 3214 return dAtA[:n], nil 3215} 3216 3217func (m *UpstreamConnectionOptions) MarshalTo(dAtA []byte) (int, error) { 3218 var i int 3219 _ = i 3220 var l int 3221 _ = l 3222 if m.TcpKeepalive != nil { 3223 dAtA[i] = 0xa 3224 i++ 3225 i = encodeVarintCds(dAtA, i, uint64(m.TcpKeepalive.Size())) 3226 n37, err := m.TcpKeepalive.MarshalTo(dAtA[i:]) 3227 if err != nil { 3228 return 0, err 3229 } 3230 i += n37 3231 } 3232 if m.XXX_unrecognized != nil { 3233 i += copy(dAtA[i:], m.XXX_unrecognized) 3234 } 3235 return i, nil 3236} 3237 3238func encodeVarintCds(dAtA []byte, offset int, v uint64) int { 3239 for v >= 1<<7 { 3240 dAtA[offset] = uint8(v&0x7f | 0x80) 3241 v >>= 7 3242 offset++ 3243 } 3244 dAtA[offset] = uint8(v) 3245 return offset + 1 3246} 3247func (m *Cluster) Size() (n int) { 3248 var l int 3249 _ = l 3250 l = len(m.Name) 3251 if l > 0 { 3252 n += 1 + l + sovCds(uint64(l)) 3253 } 3254 if m.Type != 0 { 3255 n += 1 + sovCds(uint64(m.Type)) 3256 } 3257 if m.EdsClusterConfig != nil { 3258 l = m.EdsClusterConfig.Size() 3259 n += 1 + l + sovCds(uint64(l)) 3260 } 3261 l = github_com_gogo_protobuf_types.SizeOfStdDuration(m.ConnectTimeout) 3262 n += 1 + l + sovCds(uint64(l)) 3263 if m.PerConnectionBufferLimitBytes != nil { 3264 l = m.PerConnectionBufferLimitBytes.Size() 3265 n += 1 + l + sovCds(uint64(l)) 3266 } 3267 if m.LbPolicy != 0 { 3268 n += 1 + sovCds(uint64(m.LbPolicy)) 3269 } 3270 if len(m.Hosts) > 0 { 3271 for _, e := range m.Hosts { 3272 l = e.Size() 3273 n += 1 + l + sovCds(uint64(l)) 3274 } 3275 } 3276 if len(m.HealthChecks) > 0 { 3277 for _, e := range m.HealthChecks { 3278 l = e.Size() 3279 n += 1 + l + sovCds(uint64(l)) 3280 } 3281 } 3282 if m.MaxRequestsPerConnection != nil { 3283 l = m.MaxRequestsPerConnection.Size() 3284 n += 1 + l + sovCds(uint64(l)) 3285 } 3286 if m.CircuitBreakers != nil { 3287 l = m.CircuitBreakers.Size() 3288 n += 1 + l + sovCds(uint64(l)) 3289 } 3290 if m.TlsContext != nil { 3291 l = m.TlsContext.Size() 3292 n += 1 + l + sovCds(uint64(l)) 3293 } 3294 if m.HttpProtocolOptions != nil { 3295 l = m.HttpProtocolOptions.Size() 3296 n += 1 + l + sovCds(uint64(l)) 3297 } 3298 if m.Http2ProtocolOptions != nil { 3299 l = m.Http2ProtocolOptions.Size() 3300 n += 1 + l + sovCds(uint64(l)) 3301 } 3302 if m.DnsRefreshRate != nil { 3303 l = github_com_gogo_protobuf_types.SizeOfStdDuration(*m.DnsRefreshRate) 3304 n += 2 + l + sovCds(uint64(l)) 3305 } 3306 if m.DnsLookupFamily != 0 { 3307 n += 2 + sovCds(uint64(m.DnsLookupFamily)) 3308 } 3309 if len(m.DnsResolvers) > 0 { 3310 for _, e := range m.DnsResolvers { 3311 l = e.Size() 3312 n += 2 + l + sovCds(uint64(l)) 3313 } 3314 } 3315 if m.OutlierDetection != nil { 3316 l = m.OutlierDetection.Size() 3317 n += 2 + l + sovCds(uint64(l)) 3318 } 3319 if m.CleanupInterval != nil { 3320 l = github_com_gogo_protobuf_types.SizeOfStdDuration(*m.CleanupInterval) 3321 n += 2 + l + sovCds(uint64(l)) 3322 } 3323 if m.UpstreamBindConfig != nil { 3324 l = m.UpstreamBindConfig.Size() 3325 n += 2 + l + sovCds(uint64(l)) 3326 } 3327 if m.LbSubsetConfig != nil { 3328 l = m.LbSubsetConfig.Size() 3329 n += 2 + l + sovCds(uint64(l)) 3330 } 3331 if m.LbConfig != nil { 3332 n += m.LbConfig.Size() 3333 } 3334 if m.TransportSocket != nil { 3335 l = m.TransportSocket.Size() 3336 n += 2 + l + sovCds(uint64(l)) 3337 } 3338 if m.Metadata != nil { 3339 l = m.Metadata.Size() 3340 n += 2 + l + sovCds(uint64(l)) 3341 } 3342 if m.ProtocolSelection != 0 { 3343 n += 2 + sovCds(uint64(m.ProtocolSelection)) 3344 } 3345 if m.CommonLbConfig != nil { 3346 l = m.CommonLbConfig.Size() 3347 n += 2 + l + sovCds(uint64(l)) 3348 } 3349 l = len(m.AltStatName) 3350 if l > 0 { 3351 n += 2 + l + sovCds(uint64(l)) 3352 } 3353 if m.CommonHttpProtocolOptions != nil { 3354 l = m.CommonHttpProtocolOptions.Size() 3355 n += 2 + l + sovCds(uint64(l)) 3356 } 3357 if m.UpstreamConnectionOptions != nil { 3358 l = m.UpstreamConnectionOptions.Size() 3359 n += 2 + l + sovCds(uint64(l)) 3360 } 3361 if m.CloseConnectionsOnHostHealthFailure { 3362 n += 3 3363 } 3364 if m.DrainConnectionsOnHostRemoval { 3365 n += 3 3366 } 3367 if m.LoadAssignment != nil { 3368 l = m.LoadAssignment.Size() 3369 n += 2 + l + sovCds(uint64(l)) 3370 } 3371 if len(m.ExtensionProtocolOptions) > 0 { 3372 for k, v := range m.ExtensionProtocolOptions { 3373 _ = k 3374 _ = v 3375 l = 0 3376 if v != nil { 3377 l = v.Size() 3378 l += 1 + sovCds(uint64(l)) 3379 } 3380 mapEntrySize := 1 + len(k) + sovCds(uint64(len(k))) + l 3381 n += mapEntrySize + 2 + sovCds(uint64(mapEntrySize)) 3382 } 3383 } 3384 if m.XXX_unrecognized != nil { 3385 n += len(m.XXX_unrecognized) 3386 } 3387 return n 3388} 3389 3390func (m *Cluster_RingHashLbConfig_) Size() (n int) { 3391 var l int 3392 _ = l 3393 if m.RingHashLbConfig != nil { 3394 l = m.RingHashLbConfig.Size() 3395 n += 2 + l + sovCds(uint64(l)) 3396 } 3397 return n 3398} 3399func (m *Cluster_OriginalDstLbConfig_) Size() (n int) { 3400 var l int 3401 _ = l 3402 if m.OriginalDstLbConfig != nil { 3403 l = m.OriginalDstLbConfig.Size() 3404 n += 2 + l + sovCds(uint64(l)) 3405 } 3406 return n 3407} 3408func (m *Cluster_EdsClusterConfig) Size() (n int) { 3409 var l int 3410 _ = l 3411 if m.EdsConfig != nil { 3412 l = m.EdsConfig.Size() 3413 n += 1 + l + sovCds(uint64(l)) 3414 } 3415 l = len(m.ServiceName) 3416 if l > 0 { 3417 n += 1 + l + sovCds(uint64(l)) 3418 } 3419 if m.XXX_unrecognized != nil { 3420 n += len(m.XXX_unrecognized) 3421 } 3422 return n 3423} 3424 3425func (m *Cluster_LbSubsetConfig) Size() (n int) { 3426 var l int 3427 _ = l 3428 if m.FallbackPolicy != 0 { 3429 n += 1 + sovCds(uint64(m.FallbackPolicy)) 3430 } 3431 if m.DefaultSubset != nil { 3432 l = m.DefaultSubset.Size() 3433 n += 1 + l + sovCds(uint64(l)) 3434 } 3435 if len(m.SubsetSelectors) > 0 { 3436 for _, e := range m.SubsetSelectors { 3437 l = e.Size() 3438 n += 1 + l + sovCds(uint64(l)) 3439 } 3440 } 3441 if m.LocalityWeightAware { 3442 n += 2 3443 } 3444 if m.XXX_unrecognized != nil { 3445 n += len(m.XXX_unrecognized) 3446 } 3447 return n 3448} 3449 3450func (m *Cluster_LbSubsetConfig_LbSubsetSelector) Size() (n int) { 3451 var l int 3452 _ = l 3453 if len(m.Keys) > 0 { 3454 for _, s := range m.Keys { 3455 l = len(s) 3456 n += 1 + l + sovCds(uint64(l)) 3457 } 3458 } 3459 if m.XXX_unrecognized != nil { 3460 n += len(m.XXX_unrecognized) 3461 } 3462 return n 3463} 3464 3465func (m *Cluster_RingHashLbConfig) Size() (n int) { 3466 var l int 3467 _ = l 3468 if m.MinimumRingSize != nil { 3469 l = m.MinimumRingSize.Size() 3470 n += 1 + l + sovCds(uint64(l)) 3471 } 3472 if m.DeprecatedV1 != nil { 3473 l = m.DeprecatedV1.Size() 3474 n += 1 + l + sovCds(uint64(l)) 3475 } 3476 if m.XXX_unrecognized != nil { 3477 n += len(m.XXX_unrecognized) 3478 } 3479 return n 3480} 3481 3482func (m *Cluster_RingHashLbConfig_DeprecatedV1) Size() (n int) { 3483 var l int 3484 _ = l 3485 if m.UseStdHash != nil { 3486 l = m.UseStdHash.Size() 3487 n += 1 + l + sovCds(uint64(l)) 3488 } 3489 if m.XXX_unrecognized != nil { 3490 n += len(m.XXX_unrecognized) 3491 } 3492 return n 3493} 3494 3495func (m *Cluster_OriginalDstLbConfig) Size() (n int) { 3496 var l int 3497 _ = l 3498 if m.UseHttpHeader { 3499 n += 2 3500 } 3501 if m.XXX_unrecognized != nil { 3502 n += len(m.XXX_unrecognized) 3503 } 3504 return n 3505} 3506 3507func (m *Cluster_CommonLbConfig) Size() (n int) { 3508 var l int 3509 _ = l 3510 if m.HealthyPanicThreshold != nil { 3511 l = m.HealthyPanicThreshold.Size() 3512 n += 1 + l + sovCds(uint64(l)) 3513 } 3514 if m.LocalityConfigSpecifier != nil { 3515 n += m.LocalityConfigSpecifier.Size() 3516 } 3517 if m.UpdateMergeWindow != nil { 3518 l = m.UpdateMergeWindow.Size() 3519 n += 1 + l + sovCds(uint64(l)) 3520 } 3521 if m.XXX_unrecognized != nil { 3522 n += len(m.XXX_unrecognized) 3523 } 3524 return n 3525} 3526 3527func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig_) Size() (n int) { 3528 var l int 3529 _ = l 3530 if m.ZoneAwareLbConfig != nil { 3531 l = m.ZoneAwareLbConfig.Size() 3532 n += 1 + l + sovCds(uint64(l)) 3533 } 3534 return n 3535} 3536func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig_) Size() (n int) { 3537 var l int 3538 _ = l 3539 if m.LocalityWeightedLbConfig != nil { 3540 l = m.LocalityWeightedLbConfig.Size() 3541 n += 1 + l + sovCds(uint64(l)) 3542 } 3543 return n 3544} 3545func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) Size() (n int) { 3546 var l int 3547 _ = l 3548 if m.RoutingEnabled != nil { 3549 l = m.RoutingEnabled.Size() 3550 n += 1 + l + sovCds(uint64(l)) 3551 } 3552 if m.MinClusterSize != nil { 3553 l = m.MinClusterSize.Size() 3554 n += 1 + l + sovCds(uint64(l)) 3555 } 3556 if m.XXX_unrecognized != nil { 3557 n += len(m.XXX_unrecognized) 3558 } 3559 return n 3560} 3561 3562func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) Size() (n int) { 3563 var l int 3564 _ = l 3565 if m.XXX_unrecognized != nil { 3566 n += len(m.XXX_unrecognized) 3567 } 3568 return n 3569} 3570 3571func (m *UpstreamBindConfig) Size() (n int) { 3572 var l int 3573 _ = l 3574 if m.SourceAddress != nil { 3575 l = m.SourceAddress.Size() 3576 n += 1 + l + sovCds(uint64(l)) 3577 } 3578 if m.XXX_unrecognized != nil { 3579 n += len(m.XXX_unrecognized) 3580 } 3581 return n 3582} 3583 3584func (m *UpstreamConnectionOptions) Size() (n int) { 3585 var l int 3586 _ = l 3587 if m.TcpKeepalive != nil { 3588 l = m.TcpKeepalive.Size() 3589 n += 1 + l + sovCds(uint64(l)) 3590 } 3591 if m.XXX_unrecognized != nil { 3592 n += len(m.XXX_unrecognized) 3593 } 3594 return n 3595} 3596 3597func sovCds(x uint64) (n int) { 3598 for { 3599 n++ 3600 x >>= 7 3601 if x == 0 { 3602 break 3603 } 3604 } 3605 return n 3606} 3607func sozCds(x uint64) (n int) { 3608 return sovCds(uint64((x << 1) ^ uint64((int64(x) >> 63)))) 3609} 3610func (m *Cluster) Unmarshal(dAtA []byte) error { 3611 l := len(dAtA) 3612 iNdEx := 0 3613 for iNdEx < l { 3614 preIndex := iNdEx 3615 var wire uint64 3616 for shift := uint(0); ; shift += 7 { 3617 if shift >= 64 { 3618 return ErrIntOverflowCds 3619 } 3620 if iNdEx >= l { 3621 return io.ErrUnexpectedEOF 3622 } 3623 b := dAtA[iNdEx] 3624 iNdEx++ 3625 wire |= (uint64(b) & 0x7F) << shift 3626 if b < 0x80 { 3627 break 3628 } 3629 } 3630 fieldNum := int32(wire >> 3) 3631 wireType := int(wire & 0x7) 3632 if wireType == 4 { 3633 return fmt.Errorf("proto: Cluster: wiretype end group for non-group") 3634 } 3635 if fieldNum <= 0 { 3636 return fmt.Errorf("proto: Cluster: illegal tag %d (wire type %d)", fieldNum, wire) 3637 } 3638 switch fieldNum { 3639 case 1: 3640 if wireType != 2 { 3641 return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) 3642 } 3643 var stringLen uint64 3644 for shift := uint(0); ; shift += 7 { 3645 if shift >= 64 { 3646 return ErrIntOverflowCds 3647 } 3648 if iNdEx >= l { 3649 return io.ErrUnexpectedEOF 3650 } 3651 b := dAtA[iNdEx] 3652 iNdEx++ 3653 stringLen |= (uint64(b) & 0x7F) << shift 3654 if b < 0x80 { 3655 break 3656 } 3657 } 3658 intStringLen := int(stringLen) 3659 if intStringLen < 0 { 3660 return ErrInvalidLengthCds 3661 } 3662 postIndex := iNdEx + intStringLen 3663 if postIndex > l { 3664 return io.ErrUnexpectedEOF 3665 } 3666 m.Name = string(dAtA[iNdEx:postIndex]) 3667 iNdEx = postIndex 3668 case 2: 3669 if wireType != 0 { 3670 return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) 3671 } 3672 m.Type = 0 3673 for shift := uint(0); ; shift += 7 { 3674 if shift >= 64 { 3675 return ErrIntOverflowCds 3676 } 3677 if iNdEx >= l { 3678 return io.ErrUnexpectedEOF 3679 } 3680 b := dAtA[iNdEx] 3681 iNdEx++ 3682 m.Type |= (Cluster_DiscoveryType(b) & 0x7F) << shift 3683 if b < 0x80 { 3684 break 3685 } 3686 } 3687 case 3: 3688 if wireType != 2 { 3689 return fmt.Errorf("proto: wrong wireType = %d for field EdsClusterConfig", wireType) 3690 } 3691 var msglen int 3692 for shift := uint(0); ; shift += 7 { 3693 if shift >= 64 { 3694 return ErrIntOverflowCds 3695 } 3696 if iNdEx >= l { 3697 return io.ErrUnexpectedEOF 3698 } 3699 b := dAtA[iNdEx] 3700 iNdEx++ 3701 msglen |= (int(b) & 0x7F) << shift 3702 if b < 0x80 { 3703 break 3704 } 3705 } 3706 if msglen < 0 { 3707 return ErrInvalidLengthCds 3708 } 3709 postIndex := iNdEx + msglen 3710 if postIndex > l { 3711 return io.ErrUnexpectedEOF 3712 } 3713 if m.EdsClusterConfig == nil { 3714 m.EdsClusterConfig = &Cluster_EdsClusterConfig{} 3715 } 3716 if err := m.EdsClusterConfig.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3717 return err 3718 } 3719 iNdEx = postIndex 3720 case 4: 3721 if wireType != 2 { 3722 return fmt.Errorf("proto: wrong wireType = %d for field ConnectTimeout", wireType) 3723 } 3724 var msglen int 3725 for shift := uint(0); ; shift += 7 { 3726 if shift >= 64 { 3727 return ErrIntOverflowCds 3728 } 3729 if iNdEx >= l { 3730 return io.ErrUnexpectedEOF 3731 } 3732 b := dAtA[iNdEx] 3733 iNdEx++ 3734 msglen |= (int(b) & 0x7F) << shift 3735 if b < 0x80 { 3736 break 3737 } 3738 } 3739 if msglen < 0 { 3740 return ErrInvalidLengthCds 3741 } 3742 postIndex := iNdEx + msglen 3743 if postIndex > l { 3744 return io.ErrUnexpectedEOF 3745 } 3746 if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(&m.ConnectTimeout, dAtA[iNdEx:postIndex]); err != nil { 3747 return err 3748 } 3749 iNdEx = postIndex 3750 case 5: 3751 if wireType != 2 { 3752 return fmt.Errorf("proto: wrong wireType = %d for field PerConnectionBufferLimitBytes", wireType) 3753 } 3754 var msglen int 3755 for shift := uint(0); ; shift += 7 { 3756 if shift >= 64 { 3757 return ErrIntOverflowCds 3758 } 3759 if iNdEx >= l { 3760 return io.ErrUnexpectedEOF 3761 } 3762 b := dAtA[iNdEx] 3763 iNdEx++ 3764 msglen |= (int(b) & 0x7F) << shift 3765 if b < 0x80 { 3766 break 3767 } 3768 } 3769 if msglen < 0 { 3770 return ErrInvalidLengthCds 3771 } 3772 postIndex := iNdEx + msglen 3773 if postIndex > l { 3774 return io.ErrUnexpectedEOF 3775 } 3776 if m.PerConnectionBufferLimitBytes == nil { 3777 m.PerConnectionBufferLimitBytes = &types.UInt32Value{} 3778 } 3779 if err := m.PerConnectionBufferLimitBytes.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3780 return err 3781 } 3782 iNdEx = postIndex 3783 case 6: 3784 if wireType != 0 { 3785 return fmt.Errorf("proto: wrong wireType = %d for field LbPolicy", wireType) 3786 } 3787 m.LbPolicy = 0 3788 for shift := uint(0); ; shift += 7 { 3789 if shift >= 64 { 3790 return ErrIntOverflowCds 3791 } 3792 if iNdEx >= l { 3793 return io.ErrUnexpectedEOF 3794 } 3795 b := dAtA[iNdEx] 3796 iNdEx++ 3797 m.LbPolicy |= (Cluster_LbPolicy(b) & 0x7F) << shift 3798 if b < 0x80 { 3799 break 3800 } 3801 } 3802 case 7: 3803 if wireType != 2 { 3804 return fmt.Errorf("proto: wrong wireType = %d for field Hosts", wireType) 3805 } 3806 var msglen int 3807 for shift := uint(0); ; shift += 7 { 3808 if shift >= 64 { 3809 return ErrIntOverflowCds 3810 } 3811 if iNdEx >= l { 3812 return io.ErrUnexpectedEOF 3813 } 3814 b := dAtA[iNdEx] 3815 iNdEx++ 3816 msglen |= (int(b) & 0x7F) << shift 3817 if b < 0x80 { 3818 break 3819 } 3820 } 3821 if msglen < 0 { 3822 return ErrInvalidLengthCds 3823 } 3824 postIndex := iNdEx + msglen 3825 if postIndex > l { 3826 return io.ErrUnexpectedEOF 3827 } 3828 m.Hosts = append(m.Hosts, &core.Address{}) 3829 if err := m.Hosts[len(m.Hosts)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3830 return err 3831 } 3832 iNdEx = postIndex 3833 case 8: 3834 if wireType != 2 { 3835 return fmt.Errorf("proto: wrong wireType = %d for field HealthChecks", wireType) 3836 } 3837 var msglen int 3838 for shift := uint(0); ; shift += 7 { 3839 if shift >= 64 { 3840 return ErrIntOverflowCds 3841 } 3842 if iNdEx >= l { 3843 return io.ErrUnexpectedEOF 3844 } 3845 b := dAtA[iNdEx] 3846 iNdEx++ 3847 msglen |= (int(b) & 0x7F) << shift 3848 if b < 0x80 { 3849 break 3850 } 3851 } 3852 if msglen < 0 { 3853 return ErrInvalidLengthCds 3854 } 3855 postIndex := iNdEx + msglen 3856 if postIndex > l { 3857 return io.ErrUnexpectedEOF 3858 } 3859 m.HealthChecks = append(m.HealthChecks, &core.HealthCheck{}) 3860 if err := m.HealthChecks[len(m.HealthChecks)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3861 return err 3862 } 3863 iNdEx = postIndex 3864 case 9: 3865 if wireType != 2 { 3866 return fmt.Errorf("proto: wrong wireType = %d for field MaxRequestsPerConnection", wireType) 3867 } 3868 var msglen int 3869 for shift := uint(0); ; shift += 7 { 3870 if shift >= 64 { 3871 return ErrIntOverflowCds 3872 } 3873 if iNdEx >= l { 3874 return io.ErrUnexpectedEOF 3875 } 3876 b := dAtA[iNdEx] 3877 iNdEx++ 3878 msglen |= (int(b) & 0x7F) << shift 3879 if b < 0x80 { 3880 break 3881 } 3882 } 3883 if msglen < 0 { 3884 return ErrInvalidLengthCds 3885 } 3886 postIndex := iNdEx + msglen 3887 if postIndex > l { 3888 return io.ErrUnexpectedEOF 3889 } 3890 if m.MaxRequestsPerConnection == nil { 3891 m.MaxRequestsPerConnection = &types.UInt32Value{} 3892 } 3893 if err := m.MaxRequestsPerConnection.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3894 return err 3895 } 3896 iNdEx = postIndex 3897 case 10: 3898 if wireType != 2 { 3899 return fmt.Errorf("proto: wrong wireType = %d for field CircuitBreakers", wireType) 3900 } 3901 var msglen int 3902 for shift := uint(0); ; shift += 7 { 3903 if shift >= 64 { 3904 return ErrIntOverflowCds 3905 } 3906 if iNdEx >= l { 3907 return io.ErrUnexpectedEOF 3908 } 3909 b := dAtA[iNdEx] 3910 iNdEx++ 3911 msglen |= (int(b) & 0x7F) << shift 3912 if b < 0x80 { 3913 break 3914 } 3915 } 3916 if msglen < 0 { 3917 return ErrInvalidLengthCds 3918 } 3919 postIndex := iNdEx + msglen 3920 if postIndex > l { 3921 return io.ErrUnexpectedEOF 3922 } 3923 if m.CircuitBreakers == nil { 3924 m.CircuitBreakers = &cluster.CircuitBreakers{} 3925 } 3926 if err := m.CircuitBreakers.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3927 return err 3928 } 3929 iNdEx = postIndex 3930 case 11: 3931 if wireType != 2 { 3932 return fmt.Errorf("proto: wrong wireType = %d for field TlsContext", wireType) 3933 } 3934 var msglen int 3935 for shift := uint(0); ; shift += 7 { 3936 if shift >= 64 { 3937 return ErrIntOverflowCds 3938 } 3939 if iNdEx >= l { 3940 return io.ErrUnexpectedEOF 3941 } 3942 b := dAtA[iNdEx] 3943 iNdEx++ 3944 msglen |= (int(b) & 0x7F) << shift 3945 if b < 0x80 { 3946 break 3947 } 3948 } 3949 if msglen < 0 { 3950 return ErrInvalidLengthCds 3951 } 3952 postIndex := iNdEx + msglen 3953 if postIndex > l { 3954 return io.ErrUnexpectedEOF 3955 } 3956 if m.TlsContext == nil { 3957 m.TlsContext = &auth.UpstreamTlsContext{} 3958 } 3959 if err := m.TlsContext.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3960 return err 3961 } 3962 iNdEx = postIndex 3963 case 13: 3964 if wireType != 2 { 3965 return fmt.Errorf("proto: wrong wireType = %d for field HttpProtocolOptions", wireType) 3966 } 3967 var msglen int 3968 for shift := uint(0); ; shift += 7 { 3969 if shift >= 64 { 3970 return ErrIntOverflowCds 3971 } 3972 if iNdEx >= l { 3973 return io.ErrUnexpectedEOF 3974 } 3975 b := dAtA[iNdEx] 3976 iNdEx++ 3977 msglen |= (int(b) & 0x7F) << shift 3978 if b < 0x80 { 3979 break 3980 } 3981 } 3982 if msglen < 0 { 3983 return ErrInvalidLengthCds 3984 } 3985 postIndex := iNdEx + msglen 3986 if postIndex > l { 3987 return io.ErrUnexpectedEOF 3988 } 3989 if m.HttpProtocolOptions == nil { 3990 m.HttpProtocolOptions = &core.Http1ProtocolOptions{} 3991 } 3992 if err := m.HttpProtocolOptions.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3993 return err 3994 } 3995 iNdEx = postIndex 3996 case 14: 3997 if wireType != 2 { 3998 return fmt.Errorf("proto: wrong wireType = %d for field Http2ProtocolOptions", wireType) 3999 } 4000 var msglen int 4001 for shift := uint(0); ; shift += 7 { 4002 if shift >= 64 { 4003 return ErrIntOverflowCds 4004 } 4005 if iNdEx >= l { 4006 return io.ErrUnexpectedEOF 4007 } 4008 b := dAtA[iNdEx] 4009 iNdEx++ 4010 msglen |= (int(b) & 0x7F) << shift 4011 if b < 0x80 { 4012 break 4013 } 4014 } 4015 if msglen < 0 { 4016 return ErrInvalidLengthCds 4017 } 4018 postIndex := iNdEx + msglen 4019 if postIndex > l { 4020 return io.ErrUnexpectedEOF 4021 } 4022 if m.Http2ProtocolOptions == nil { 4023 m.Http2ProtocolOptions = &core.Http2ProtocolOptions{} 4024 } 4025 if err := m.Http2ProtocolOptions.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4026 return err 4027 } 4028 iNdEx = postIndex 4029 case 16: 4030 if wireType != 2 { 4031 return fmt.Errorf("proto: wrong wireType = %d for field DnsRefreshRate", wireType) 4032 } 4033 var msglen int 4034 for shift := uint(0); ; shift += 7 { 4035 if shift >= 64 { 4036 return ErrIntOverflowCds 4037 } 4038 if iNdEx >= l { 4039 return io.ErrUnexpectedEOF 4040 } 4041 b := dAtA[iNdEx] 4042 iNdEx++ 4043 msglen |= (int(b) & 0x7F) << shift 4044 if b < 0x80 { 4045 break 4046 } 4047 } 4048 if msglen < 0 { 4049 return ErrInvalidLengthCds 4050 } 4051 postIndex := iNdEx + msglen 4052 if postIndex > l { 4053 return io.ErrUnexpectedEOF 4054 } 4055 if m.DnsRefreshRate == nil { 4056 m.DnsRefreshRate = new(time.Duration) 4057 } 4058 if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(m.DnsRefreshRate, dAtA[iNdEx:postIndex]); err != nil { 4059 return err 4060 } 4061 iNdEx = postIndex 4062 case 17: 4063 if wireType != 0 { 4064 return fmt.Errorf("proto: wrong wireType = %d for field DnsLookupFamily", wireType) 4065 } 4066 m.DnsLookupFamily = 0 4067 for shift := uint(0); ; shift += 7 { 4068 if shift >= 64 { 4069 return ErrIntOverflowCds 4070 } 4071 if iNdEx >= l { 4072 return io.ErrUnexpectedEOF 4073 } 4074 b := dAtA[iNdEx] 4075 iNdEx++ 4076 m.DnsLookupFamily |= (Cluster_DnsLookupFamily(b) & 0x7F) << shift 4077 if b < 0x80 { 4078 break 4079 } 4080 } 4081 case 18: 4082 if wireType != 2 { 4083 return fmt.Errorf("proto: wrong wireType = %d for field DnsResolvers", wireType) 4084 } 4085 var msglen int 4086 for shift := uint(0); ; shift += 7 { 4087 if shift >= 64 { 4088 return ErrIntOverflowCds 4089 } 4090 if iNdEx >= l { 4091 return io.ErrUnexpectedEOF 4092 } 4093 b := dAtA[iNdEx] 4094 iNdEx++ 4095 msglen |= (int(b) & 0x7F) << shift 4096 if b < 0x80 { 4097 break 4098 } 4099 } 4100 if msglen < 0 { 4101 return ErrInvalidLengthCds 4102 } 4103 postIndex := iNdEx + msglen 4104 if postIndex > l { 4105 return io.ErrUnexpectedEOF 4106 } 4107 m.DnsResolvers = append(m.DnsResolvers, &core.Address{}) 4108 if err := m.DnsResolvers[len(m.DnsResolvers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4109 return err 4110 } 4111 iNdEx = postIndex 4112 case 19: 4113 if wireType != 2 { 4114 return fmt.Errorf("proto: wrong wireType = %d for field OutlierDetection", wireType) 4115 } 4116 var msglen int 4117 for shift := uint(0); ; shift += 7 { 4118 if shift >= 64 { 4119 return ErrIntOverflowCds 4120 } 4121 if iNdEx >= l { 4122 return io.ErrUnexpectedEOF 4123 } 4124 b := dAtA[iNdEx] 4125 iNdEx++ 4126 msglen |= (int(b) & 0x7F) << shift 4127 if b < 0x80 { 4128 break 4129 } 4130 } 4131 if msglen < 0 { 4132 return ErrInvalidLengthCds 4133 } 4134 postIndex := iNdEx + msglen 4135 if postIndex > l { 4136 return io.ErrUnexpectedEOF 4137 } 4138 if m.OutlierDetection == nil { 4139 m.OutlierDetection = &cluster.OutlierDetection{} 4140 } 4141 if err := m.OutlierDetection.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4142 return err 4143 } 4144 iNdEx = postIndex 4145 case 20: 4146 if wireType != 2 { 4147 return fmt.Errorf("proto: wrong wireType = %d for field CleanupInterval", wireType) 4148 } 4149 var msglen int 4150 for shift := uint(0); ; shift += 7 { 4151 if shift >= 64 { 4152 return ErrIntOverflowCds 4153 } 4154 if iNdEx >= l { 4155 return io.ErrUnexpectedEOF 4156 } 4157 b := dAtA[iNdEx] 4158 iNdEx++ 4159 msglen |= (int(b) & 0x7F) << shift 4160 if b < 0x80 { 4161 break 4162 } 4163 } 4164 if msglen < 0 { 4165 return ErrInvalidLengthCds 4166 } 4167 postIndex := iNdEx + msglen 4168 if postIndex > l { 4169 return io.ErrUnexpectedEOF 4170 } 4171 if m.CleanupInterval == nil { 4172 m.CleanupInterval = new(time.Duration) 4173 } 4174 if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(m.CleanupInterval, dAtA[iNdEx:postIndex]); err != nil { 4175 return err 4176 } 4177 iNdEx = postIndex 4178 case 21: 4179 if wireType != 2 { 4180 return fmt.Errorf("proto: wrong wireType = %d for field UpstreamBindConfig", wireType) 4181 } 4182 var msglen int 4183 for shift := uint(0); ; shift += 7 { 4184 if shift >= 64 { 4185 return ErrIntOverflowCds 4186 } 4187 if iNdEx >= l { 4188 return io.ErrUnexpectedEOF 4189 } 4190 b := dAtA[iNdEx] 4191 iNdEx++ 4192 msglen |= (int(b) & 0x7F) << shift 4193 if b < 0x80 { 4194 break 4195 } 4196 } 4197 if msglen < 0 { 4198 return ErrInvalidLengthCds 4199 } 4200 postIndex := iNdEx + msglen 4201 if postIndex > l { 4202 return io.ErrUnexpectedEOF 4203 } 4204 if m.UpstreamBindConfig == nil { 4205 m.UpstreamBindConfig = &core.BindConfig{} 4206 } 4207 if err := m.UpstreamBindConfig.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4208 return err 4209 } 4210 iNdEx = postIndex 4211 case 22: 4212 if wireType != 2 { 4213 return fmt.Errorf("proto: wrong wireType = %d for field LbSubsetConfig", wireType) 4214 } 4215 var msglen int 4216 for shift := uint(0); ; shift += 7 { 4217 if shift >= 64 { 4218 return ErrIntOverflowCds 4219 } 4220 if iNdEx >= l { 4221 return io.ErrUnexpectedEOF 4222 } 4223 b := dAtA[iNdEx] 4224 iNdEx++ 4225 msglen |= (int(b) & 0x7F) << shift 4226 if b < 0x80 { 4227 break 4228 } 4229 } 4230 if msglen < 0 { 4231 return ErrInvalidLengthCds 4232 } 4233 postIndex := iNdEx + msglen 4234 if postIndex > l { 4235 return io.ErrUnexpectedEOF 4236 } 4237 if m.LbSubsetConfig == nil { 4238 m.LbSubsetConfig = &Cluster_LbSubsetConfig{} 4239 } 4240 if err := m.LbSubsetConfig.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4241 return err 4242 } 4243 iNdEx = postIndex 4244 case 23: 4245 if wireType != 2 { 4246 return fmt.Errorf("proto: wrong wireType = %d for field RingHashLbConfig", wireType) 4247 } 4248 var msglen int 4249 for shift := uint(0); ; shift += 7 { 4250 if shift >= 64 { 4251 return ErrIntOverflowCds 4252 } 4253 if iNdEx >= l { 4254 return io.ErrUnexpectedEOF 4255 } 4256 b := dAtA[iNdEx] 4257 iNdEx++ 4258 msglen |= (int(b) & 0x7F) << shift 4259 if b < 0x80 { 4260 break 4261 } 4262 } 4263 if msglen < 0 { 4264 return ErrInvalidLengthCds 4265 } 4266 postIndex := iNdEx + msglen 4267 if postIndex > l { 4268 return io.ErrUnexpectedEOF 4269 } 4270 v := &Cluster_RingHashLbConfig{} 4271 if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4272 return err 4273 } 4274 m.LbConfig = &Cluster_RingHashLbConfig_{v} 4275 iNdEx = postIndex 4276 case 24: 4277 if wireType != 2 { 4278 return fmt.Errorf("proto: wrong wireType = %d for field TransportSocket", wireType) 4279 } 4280 var msglen int 4281 for shift := uint(0); ; shift += 7 { 4282 if shift >= 64 { 4283 return ErrIntOverflowCds 4284 } 4285 if iNdEx >= l { 4286 return io.ErrUnexpectedEOF 4287 } 4288 b := dAtA[iNdEx] 4289 iNdEx++ 4290 msglen |= (int(b) & 0x7F) << shift 4291 if b < 0x80 { 4292 break 4293 } 4294 } 4295 if msglen < 0 { 4296 return ErrInvalidLengthCds 4297 } 4298 postIndex := iNdEx + msglen 4299 if postIndex > l { 4300 return io.ErrUnexpectedEOF 4301 } 4302 if m.TransportSocket == nil { 4303 m.TransportSocket = &core.TransportSocket{} 4304 } 4305 if err := m.TransportSocket.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4306 return err 4307 } 4308 iNdEx = postIndex 4309 case 25: 4310 if wireType != 2 { 4311 return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) 4312 } 4313 var msglen int 4314 for shift := uint(0); ; shift += 7 { 4315 if shift >= 64 { 4316 return ErrIntOverflowCds 4317 } 4318 if iNdEx >= l { 4319 return io.ErrUnexpectedEOF 4320 } 4321 b := dAtA[iNdEx] 4322 iNdEx++ 4323 msglen |= (int(b) & 0x7F) << shift 4324 if b < 0x80 { 4325 break 4326 } 4327 } 4328 if msglen < 0 { 4329 return ErrInvalidLengthCds 4330 } 4331 postIndex := iNdEx + msglen 4332 if postIndex > l { 4333 return io.ErrUnexpectedEOF 4334 } 4335 if m.Metadata == nil { 4336 m.Metadata = &core.Metadata{} 4337 } 4338 if err := m.Metadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4339 return err 4340 } 4341 iNdEx = postIndex 4342 case 26: 4343 if wireType != 0 { 4344 return fmt.Errorf("proto: wrong wireType = %d for field ProtocolSelection", wireType) 4345 } 4346 m.ProtocolSelection = 0 4347 for shift := uint(0); ; shift += 7 { 4348 if shift >= 64 { 4349 return ErrIntOverflowCds 4350 } 4351 if iNdEx >= l { 4352 return io.ErrUnexpectedEOF 4353 } 4354 b := dAtA[iNdEx] 4355 iNdEx++ 4356 m.ProtocolSelection |= (Cluster_ClusterProtocolSelection(b) & 0x7F) << shift 4357 if b < 0x80 { 4358 break 4359 } 4360 } 4361 case 27: 4362 if wireType != 2 { 4363 return fmt.Errorf("proto: wrong wireType = %d for field CommonLbConfig", wireType) 4364 } 4365 var msglen int 4366 for shift := uint(0); ; shift += 7 { 4367 if shift >= 64 { 4368 return ErrIntOverflowCds 4369 } 4370 if iNdEx >= l { 4371 return io.ErrUnexpectedEOF 4372 } 4373 b := dAtA[iNdEx] 4374 iNdEx++ 4375 msglen |= (int(b) & 0x7F) << shift 4376 if b < 0x80 { 4377 break 4378 } 4379 } 4380 if msglen < 0 { 4381 return ErrInvalidLengthCds 4382 } 4383 postIndex := iNdEx + msglen 4384 if postIndex > l { 4385 return io.ErrUnexpectedEOF 4386 } 4387 if m.CommonLbConfig == nil { 4388 m.CommonLbConfig = &Cluster_CommonLbConfig{} 4389 } 4390 if err := m.CommonLbConfig.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4391 return err 4392 } 4393 iNdEx = postIndex 4394 case 28: 4395 if wireType != 2 { 4396 return fmt.Errorf("proto: wrong wireType = %d for field AltStatName", wireType) 4397 } 4398 var stringLen uint64 4399 for shift := uint(0); ; shift += 7 { 4400 if shift >= 64 { 4401 return ErrIntOverflowCds 4402 } 4403 if iNdEx >= l { 4404 return io.ErrUnexpectedEOF 4405 } 4406 b := dAtA[iNdEx] 4407 iNdEx++ 4408 stringLen |= (uint64(b) & 0x7F) << shift 4409 if b < 0x80 { 4410 break 4411 } 4412 } 4413 intStringLen := int(stringLen) 4414 if intStringLen < 0 { 4415 return ErrInvalidLengthCds 4416 } 4417 postIndex := iNdEx + intStringLen 4418 if postIndex > l { 4419 return io.ErrUnexpectedEOF 4420 } 4421 m.AltStatName = string(dAtA[iNdEx:postIndex]) 4422 iNdEx = postIndex 4423 case 29: 4424 if wireType != 2 { 4425 return fmt.Errorf("proto: wrong wireType = %d for field CommonHttpProtocolOptions", wireType) 4426 } 4427 var msglen int 4428 for shift := uint(0); ; shift += 7 { 4429 if shift >= 64 { 4430 return ErrIntOverflowCds 4431 } 4432 if iNdEx >= l { 4433 return io.ErrUnexpectedEOF 4434 } 4435 b := dAtA[iNdEx] 4436 iNdEx++ 4437 msglen |= (int(b) & 0x7F) << shift 4438 if b < 0x80 { 4439 break 4440 } 4441 } 4442 if msglen < 0 { 4443 return ErrInvalidLengthCds 4444 } 4445 postIndex := iNdEx + msglen 4446 if postIndex > l { 4447 return io.ErrUnexpectedEOF 4448 } 4449 if m.CommonHttpProtocolOptions == nil { 4450 m.CommonHttpProtocolOptions = &core.HttpProtocolOptions{} 4451 } 4452 if err := m.CommonHttpProtocolOptions.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4453 return err 4454 } 4455 iNdEx = postIndex 4456 case 30: 4457 if wireType != 2 { 4458 return fmt.Errorf("proto: wrong wireType = %d for field UpstreamConnectionOptions", wireType) 4459 } 4460 var msglen int 4461 for shift := uint(0); ; shift += 7 { 4462 if shift >= 64 { 4463 return ErrIntOverflowCds 4464 } 4465 if iNdEx >= l { 4466 return io.ErrUnexpectedEOF 4467 } 4468 b := dAtA[iNdEx] 4469 iNdEx++ 4470 msglen |= (int(b) & 0x7F) << shift 4471 if b < 0x80 { 4472 break 4473 } 4474 } 4475 if msglen < 0 { 4476 return ErrInvalidLengthCds 4477 } 4478 postIndex := iNdEx + msglen 4479 if postIndex > l { 4480 return io.ErrUnexpectedEOF 4481 } 4482 if m.UpstreamConnectionOptions == nil { 4483 m.UpstreamConnectionOptions = &UpstreamConnectionOptions{} 4484 } 4485 if err := m.UpstreamConnectionOptions.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4486 return err 4487 } 4488 iNdEx = postIndex 4489 case 31: 4490 if wireType != 0 { 4491 return fmt.Errorf("proto: wrong wireType = %d for field CloseConnectionsOnHostHealthFailure", wireType) 4492 } 4493 var v int 4494 for shift := uint(0); ; shift += 7 { 4495 if shift >= 64 { 4496 return ErrIntOverflowCds 4497 } 4498 if iNdEx >= l { 4499 return io.ErrUnexpectedEOF 4500 } 4501 b := dAtA[iNdEx] 4502 iNdEx++ 4503 v |= (int(b) & 0x7F) << shift 4504 if b < 0x80 { 4505 break 4506 } 4507 } 4508 m.CloseConnectionsOnHostHealthFailure = bool(v != 0) 4509 case 32: 4510 if wireType != 0 { 4511 return fmt.Errorf("proto: wrong wireType = %d for field DrainConnectionsOnHostRemoval", wireType) 4512 } 4513 var v int 4514 for shift := uint(0); ; shift += 7 { 4515 if shift >= 64 { 4516 return ErrIntOverflowCds 4517 } 4518 if iNdEx >= l { 4519 return io.ErrUnexpectedEOF 4520 } 4521 b := dAtA[iNdEx] 4522 iNdEx++ 4523 v |= (int(b) & 0x7F) << shift 4524 if b < 0x80 { 4525 break 4526 } 4527 } 4528 m.DrainConnectionsOnHostRemoval = bool(v != 0) 4529 case 33: 4530 if wireType != 2 { 4531 return fmt.Errorf("proto: wrong wireType = %d for field LoadAssignment", wireType) 4532 } 4533 var msglen int 4534 for shift := uint(0); ; shift += 7 { 4535 if shift >= 64 { 4536 return ErrIntOverflowCds 4537 } 4538 if iNdEx >= l { 4539 return io.ErrUnexpectedEOF 4540 } 4541 b := dAtA[iNdEx] 4542 iNdEx++ 4543 msglen |= (int(b) & 0x7F) << shift 4544 if b < 0x80 { 4545 break 4546 } 4547 } 4548 if msglen < 0 { 4549 return ErrInvalidLengthCds 4550 } 4551 postIndex := iNdEx + msglen 4552 if postIndex > l { 4553 return io.ErrUnexpectedEOF 4554 } 4555 if m.LoadAssignment == nil { 4556 m.LoadAssignment = &ClusterLoadAssignment{} 4557 } 4558 if err := m.LoadAssignment.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4559 return err 4560 } 4561 iNdEx = postIndex 4562 case 34: 4563 if wireType != 2 { 4564 return fmt.Errorf("proto: wrong wireType = %d for field OriginalDstLbConfig", wireType) 4565 } 4566 var msglen int 4567 for shift := uint(0); ; shift += 7 { 4568 if shift >= 64 { 4569 return ErrIntOverflowCds 4570 } 4571 if iNdEx >= l { 4572 return io.ErrUnexpectedEOF 4573 } 4574 b := dAtA[iNdEx] 4575 iNdEx++ 4576 msglen |= (int(b) & 0x7F) << shift 4577 if b < 0x80 { 4578 break 4579 } 4580 } 4581 if msglen < 0 { 4582 return ErrInvalidLengthCds 4583 } 4584 postIndex := iNdEx + msglen 4585 if postIndex > l { 4586 return io.ErrUnexpectedEOF 4587 } 4588 v := &Cluster_OriginalDstLbConfig{} 4589 if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4590 return err 4591 } 4592 m.LbConfig = &Cluster_OriginalDstLbConfig_{v} 4593 iNdEx = postIndex 4594 case 35: 4595 if wireType != 2 { 4596 return fmt.Errorf("proto: wrong wireType = %d for field ExtensionProtocolOptions", wireType) 4597 } 4598 var msglen int 4599 for shift := uint(0); ; shift += 7 { 4600 if shift >= 64 { 4601 return ErrIntOverflowCds 4602 } 4603 if iNdEx >= l { 4604 return io.ErrUnexpectedEOF 4605 } 4606 b := dAtA[iNdEx] 4607 iNdEx++ 4608 msglen |= (int(b) & 0x7F) << shift 4609 if b < 0x80 { 4610 break 4611 } 4612 } 4613 if msglen < 0 { 4614 return ErrInvalidLengthCds 4615 } 4616 postIndex := iNdEx + msglen 4617 if postIndex > l { 4618 return io.ErrUnexpectedEOF 4619 } 4620 if m.ExtensionProtocolOptions == nil { 4621 m.ExtensionProtocolOptions = make(map[string]*types.Struct) 4622 } 4623 var mapkey string 4624 var mapvalue *types.Struct 4625 for iNdEx < postIndex { 4626 entryPreIndex := iNdEx 4627 var wire uint64 4628 for shift := uint(0); ; shift += 7 { 4629 if shift >= 64 { 4630 return ErrIntOverflowCds 4631 } 4632 if iNdEx >= l { 4633 return io.ErrUnexpectedEOF 4634 } 4635 b := dAtA[iNdEx] 4636 iNdEx++ 4637 wire |= (uint64(b) & 0x7F) << shift 4638 if b < 0x80 { 4639 break 4640 } 4641 } 4642 fieldNum := int32(wire >> 3) 4643 if fieldNum == 1 { 4644 var stringLenmapkey uint64 4645 for shift := uint(0); ; shift += 7 { 4646 if shift >= 64 { 4647 return ErrIntOverflowCds 4648 } 4649 if iNdEx >= l { 4650 return io.ErrUnexpectedEOF 4651 } 4652 b := dAtA[iNdEx] 4653 iNdEx++ 4654 stringLenmapkey |= (uint64(b) & 0x7F) << shift 4655 if b < 0x80 { 4656 break 4657 } 4658 } 4659 intStringLenmapkey := int(stringLenmapkey) 4660 if intStringLenmapkey < 0 { 4661 return ErrInvalidLengthCds 4662 } 4663 postStringIndexmapkey := iNdEx + intStringLenmapkey 4664 if postStringIndexmapkey > l { 4665 return io.ErrUnexpectedEOF 4666 } 4667 mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) 4668 iNdEx = postStringIndexmapkey 4669 } else if fieldNum == 2 { 4670 var mapmsglen int 4671 for shift := uint(0); ; shift += 7 { 4672 if shift >= 64 { 4673 return ErrIntOverflowCds 4674 } 4675 if iNdEx >= l { 4676 return io.ErrUnexpectedEOF 4677 } 4678 b := dAtA[iNdEx] 4679 iNdEx++ 4680 mapmsglen |= (int(b) & 0x7F) << shift 4681 if b < 0x80 { 4682 break 4683 } 4684 } 4685 if mapmsglen < 0 { 4686 return ErrInvalidLengthCds 4687 } 4688 postmsgIndex := iNdEx + mapmsglen 4689 if mapmsglen < 0 { 4690 return ErrInvalidLengthCds 4691 } 4692 if postmsgIndex > l { 4693 return io.ErrUnexpectedEOF 4694 } 4695 mapvalue = &types.Struct{} 4696 if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil { 4697 return err 4698 } 4699 iNdEx = postmsgIndex 4700 } else { 4701 iNdEx = entryPreIndex 4702 skippy, err := skipCds(dAtA[iNdEx:]) 4703 if err != nil { 4704 return err 4705 } 4706 if skippy < 0 { 4707 return ErrInvalidLengthCds 4708 } 4709 if (iNdEx + skippy) > postIndex { 4710 return io.ErrUnexpectedEOF 4711 } 4712 iNdEx += skippy 4713 } 4714 } 4715 m.ExtensionProtocolOptions[mapkey] = mapvalue 4716 iNdEx = postIndex 4717 default: 4718 iNdEx = preIndex 4719 skippy, err := skipCds(dAtA[iNdEx:]) 4720 if err != nil { 4721 return err 4722 } 4723 if skippy < 0 { 4724 return ErrInvalidLengthCds 4725 } 4726 if (iNdEx + skippy) > l { 4727 return io.ErrUnexpectedEOF 4728 } 4729 m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) 4730 iNdEx += skippy 4731 } 4732 } 4733 4734 if iNdEx > l { 4735 return io.ErrUnexpectedEOF 4736 } 4737 return nil 4738} 4739func (m *Cluster_EdsClusterConfig) Unmarshal(dAtA []byte) error { 4740 l := len(dAtA) 4741 iNdEx := 0 4742 for iNdEx < l { 4743 preIndex := iNdEx 4744 var wire uint64 4745 for shift := uint(0); ; shift += 7 { 4746 if shift >= 64 { 4747 return ErrIntOverflowCds 4748 } 4749 if iNdEx >= l { 4750 return io.ErrUnexpectedEOF 4751 } 4752 b := dAtA[iNdEx] 4753 iNdEx++ 4754 wire |= (uint64(b) & 0x7F) << shift 4755 if b < 0x80 { 4756 break 4757 } 4758 } 4759 fieldNum := int32(wire >> 3) 4760 wireType := int(wire & 0x7) 4761 if wireType == 4 { 4762 return fmt.Errorf("proto: EdsClusterConfig: wiretype end group for non-group") 4763 } 4764 if fieldNum <= 0 { 4765 return fmt.Errorf("proto: EdsClusterConfig: illegal tag %d (wire type %d)", fieldNum, wire) 4766 } 4767 switch fieldNum { 4768 case 1: 4769 if wireType != 2 { 4770 return fmt.Errorf("proto: wrong wireType = %d for field EdsConfig", wireType) 4771 } 4772 var msglen int 4773 for shift := uint(0); ; shift += 7 { 4774 if shift >= 64 { 4775 return ErrIntOverflowCds 4776 } 4777 if iNdEx >= l { 4778 return io.ErrUnexpectedEOF 4779 } 4780 b := dAtA[iNdEx] 4781 iNdEx++ 4782 msglen |= (int(b) & 0x7F) << shift 4783 if b < 0x80 { 4784 break 4785 } 4786 } 4787 if msglen < 0 { 4788 return ErrInvalidLengthCds 4789 } 4790 postIndex := iNdEx + msglen 4791 if postIndex > l { 4792 return io.ErrUnexpectedEOF 4793 } 4794 if m.EdsConfig == nil { 4795 m.EdsConfig = &core.ConfigSource{} 4796 } 4797 if err := m.EdsConfig.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4798 return err 4799 } 4800 iNdEx = postIndex 4801 case 2: 4802 if wireType != 2 { 4803 return fmt.Errorf("proto: wrong wireType = %d for field ServiceName", wireType) 4804 } 4805 var stringLen uint64 4806 for shift := uint(0); ; shift += 7 { 4807 if shift >= 64 { 4808 return ErrIntOverflowCds 4809 } 4810 if iNdEx >= l { 4811 return io.ErrUnexpectedEOF 4812 } 4813 b := dAtA[iNdEx] 4814 iNdEx++ 4815 stringLen |= (uint64(b) & 0x7F) << shift 4816 if b < 0x80 { 4817 break 4818 } 4819 } 4820 intStringLen := int(stringLen) 4821 if intStringLen < 0 { 4822 return ErrInvalidLengthCds 4823 } 4824 postIndex := iNdEx + intStringLen 4825 if postIndex > l { 4826 return io.ErrUnexpectedEOF 4827 } 4828 m.ServiceName = string(dAtA[iNdEx:postIndex]) 4829 iNdEx = postIndex 4830 default: 4831 iNdEx = preIndex 4832 skippy, err := skipCds(dAtA[iNdEx:]) 4833 if err != nil { 4834 return err 4835 } 4836 if skippy < 0 { 4837 return ErrInvalidLengthCds 4838 } 4839 if (iNdEx + skippy) > l { 4840 return io.ErrUnexpectedEOF 4841 } 4842 m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) 4843 iNdEx += skippy 4844 } 4845 } 4846 4847 if iNdEx > l { 4848 return io.ErrUnexpectedEOF 4849 } 4850 return nil 4851} 4852func (m *Cluster_LbSubsetConfig) Unmarshal(dAtA []byte) error { 4853 l := len(dAtA) 4854 iNdEx := 0 4855 for iNdEx < l { 4856 preIndex := iNdEx 4857 var wire uint64 4858 for shift := uint(0); ; shift += 7 { 4859 if shift >= 64 { 4860 return ErrIntOverflowCds 4861 } 4862 if iNdEx >= l { 4863 return io.ErrUnexpectedEOF 4864 } 4865 b := dAtA[iNdEx] 4866 iNdEx++ 4867 wire |= (uint64(b) & 0x7F) << shift 4868 if b < 0x80 { 4869 break 4870 } 4871 } 4872 fieldNum := int32(wire >> 3) 4873 wireType := int(wire & 0x7) 4874 if wireType == 4 { 4875 return fmt.Errorf("proto: LbSubsetConfig: wiretype end group for non-group") 4876 } 4877 if fieldNum <= 0 { 4878 return fmt.Errorf("proto: LbSubsetConfig: illegal tag %d (wire type %d)", fieldNum, wire) 4879 } 4880 switch fieldNum { 4881 case 1: 4882 if wireType != 0 { 4883 return fmt.Errorf("proto: wrong wireType = %d for field FallbackPolicy", wireType) 4884 } 4885 m.FallbackPolicy = 0 4886 for shift := uint(0); ; shift += 7 { 4887 if shift >= 64 { 4888 return ErrIntOverflowCds 4889 } 4890 if iNdEx >= l { 4891 return io.ErrUnexpectedEOF 4892 } 4893 b := dAtA[iNdEx] 4894 iNdEx++ 4895 m.FallbackPolicy |= (Cluster_LbSubsetConfig_LbSubsetFallbackPolicy(b) & 0x7F) << shift 4896 if b < 0x80 { 4897 break 4898 } 4899 } 4900 case 2: 4901 if wireType != 2 { 4902 return fmt.Errorf("proto: wrong wireType = %d for field DefaultSubset", wireType) 4903 } 4904 var msglen int 4905 for shift := uint(0); ; shift += 7 { 4906 if shift >= 64 { 4907 return ErrIntOverflowCds 4908 } 4909 if iNdEx >= l { 4910 return io.ErrUnexpectedEOF 4911 } 4912 b := dAtA[iNdEx] 4913 iNdEx++ 4914 msglen |= (int(b) & 0x7F) << shift 4915 if b < 0x80 { 4916 break 4917 } 4918 } 4919 if msglen < 0 { 4920 return ErrInvalidLengthCds 4921 } 4922 postIndex := iNdEx + msglen 4923 if postIndex > l { 4924 return io.ErrUnexpectedEOF 4925 } 4926 if m.DefaultSubset == nil { 4927 m.DefaultSubset = &types.Struct{} 4928 } 4929 if err := m.DefaultSubset.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4930 return err 4931 } 4932 iNdEx = postIndex 4933 case 3: 4934 if wireType != 2 { 4935 return fmt.Errorf("proto: wrong wireType = %d for field SubsetSelectors", wireType) 4936 } 4937 var msglen int 4938 for shift := uint(0); ; shift += 7 { 4939 if shift >= 64 { 4940 return ErrIntOverflowCds 4941 } 4942 if iNdEx >= l { 4943 return io.ErrUnexpectedEOF 4944 } 4945 b := dAtA[iNdEx] 4946 iNdEx++ 4947 msglen |= (int(b) & 0x7F) << shift 4948 if b < 0x80 { 4949 break 4950 } 4951 } 4952 if msglen < 0 { 4953 return ErrInvalidLengthCds 4954 } 4955 postIndex := iNdEx + msglen 4956 if postIndex > l { 4957 return io.ErrUnexpectedEOF 4958 } 4959 m.SubsetSelectors = append(m.SubsetSelectors, &Cluster_LbSubsetConfig_LbSubsetSelector{}) 4960 if err := m.SubsetSelectors[len(m.SubsetSelectors)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 4961 return err 4962 } 4963 iNdEx = postIndex 4964 case 4: 4965 if wireType != 0 { 4966 return fmt.Errorf("proto: wrong wireType = %d for field LocalityWeightAware", wireType) 4967 } 4968 var v int 4969 for shift := uint(0); ; shift += 7 { 4970 if shift >= 64 { 4971 return ErrIntOverflowCds 4972 } 4973 if iNdEx >= l { 4974 return io.ErrUnexpectedEOF 4975 } 4976 b := dAtA[iNdEx] 4977 iNdEx++ 4978 v |= (int(b) & 0x7F) << shift 4979 if b < 0x80 { 4980 break 4981 } 4982 } 4983 m.LocalityWeightAware = bool(v != 0) 4984 default: 4985 iNdEx = preIndex 4986 skippy, err := skipCds(dAtA[iNdEx:]) 4987 if err != nil { 4988 return err 4989 } 4990 if skippy < 0 { 4991 return ErrInvalidLengthCds 4992 } 4993 if (iNdEx + skippy) > l { 4994 return io.ErrUnexpectedEOF 4995 } 4996 m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) 4997 iNdEx += skippy 4998 } 4999 } 5000 5001 if iNdEx > l { 5002 return io.ErrUnexpectedEOF 5003 } 5004 return nil 5005} 5006func (m *Cluster_LbSubsetConfig_LbSubsetSelector) Unmarshal(dAtA []byte) error { 5007 l := len(dAtA) 5008 iNdEx := 0 5009 for iNdEx < l { 5010 preIndex := iNdEx 5011 var wire uint64 5012 for shift := uint(0); ; shift += 7 { 5013 if shift >= 64 { 5014 return ErrIntOverflowCds 5015 } 5016 if iNdEx >= l { 5017 return io.ErrUnexpectedEOF 5018 } 5019 b := dAtA[iNdEx] 5020 iNdEx++ 5021 wire |= (uint64(b) & 0x7F) << shift 5022 if b < 0x80 { 5023 break 5024 } 5025 } 5026 fieldNum := int32(wire >> 3) 5027 wireType := int(wire & 0x7) 5028 if wireType == 4 { 5029 return fmt.Errorf("proto: LbSubsetSelector: wiretype end group for non-group") 5030 } 5031 if fieldNum <= 0 { 5032 return fmt.Errorf("proto: LbSubsetSelector: illegal tag %d (wire type %d)", fieldNum, wire) 5033 } 5034 switch fieldNum { 5035 case 1: 5036 if wireType != 2 { 5037 return fmt.Errorf("proto: wrong wireType = %d for field Keys", wireType) 5038 } 5039 var stringLen uint64 5040 for shift := uint(0); ; shift += 7 { 5041 if shift >= 64 { 5042 return ErrIntOverflowCds 5043 } 5044 if iNdEx >= l { 5045 return io.ErrUnexpectedEOF 5046 } 5047 b := dAtA[iNdEx] 5048 iNdEx++ 5049 stringLen |= (uint64(b) & 0x7F) << shift 5050 if b < 0x80 { 5051 break 5052 } 5053 } 5054 intStringLen := int(stringLen) 5055 if intStringLen < 0 { 5056 return ErrInvalidLengthCds 5057 } 5058 postIndex := iNdEx + intStringLen 5059 if postIndex > l { 5060 return io.ErrUnexpectedEOF 5061 } 5062 m.Keys = append(m.Keys, string(dAtA[iNdEx:postIndex])) 5063 iNdEx = postIndex 5064 default: 5065 iNdEx = preIndex 5066 skippy, err := skipCds(dAtA[iNdEx:]) 5067 if err != nil { 5068 return err 5069 } 5070 if skippy < 0 { 5071 return ErrInvalidLengthCds 5072 } 5073 if (iNdEx + skippy) > l { 5074 return io.ErrUnexpectedEOF 5075 } 5076 m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) 5077 iNdEx += skippy 5078 } 5079 } 5080 5081 if iNdEx > l { 5082 return io.ErrUnexpectedEOF 5083 } 5084 return nil 5085} 5086func (m *Cluster_RingHashLbConfig) Unmarshal(dAtA []byte) error { 5087 l := len(dAtA) 5088 iNdEx := 0 5089 for iNdEx < l { 5090 preIndex := iNdEx 5091 var wire uint64 5092 for shift := uint(0); ; shift += 7 { 5093 if shift >= 64 { 5094 return ErrIntOverflowCds 5095 } 5096 if iNdEx >= l { 5097 return io.ErrUnexpectedEOF 5098 } 5099 b := dAtA[iNdEx] 5100 iNdEx++ 5101 wire |= (uint64(b) & 0x7F) << shift 5102 if b < 0x80 { 5103 break 5104 } 5105 } 5106 fieldNum := int32(wire >> 3) 5107 wireType := int(wire & 0x7) 5108 if wireType == 4 { 5109 return fmt.Errorf("proto: RingHashLbConfig: wiretype end group for non-group") 5110 } 5111 if fieldNum <= 0 { 5112 return fmt.Errorf("proto: RingHashLbConfig: illegal tag %d (wire type %d)", fieldNum, wire) 5113 } 5114 switch fieldNum { 5115 case 1: 5116 if wireType != 2 { 5117 return fmt.Errorf("proto: wrong wireType = %d for field MinimumRingSize", wireType) 5118 } 5119 var msglen int 5120 for shift := uint(0); ; shift += 7 { 5121 if shift >= 64 { 5122 return ErrIntOverflowCds 5123 } 5124 if iNdEx >= l { 5125 return io.ErrUnexpectedEOF 5126 } 5127 b := dAtA[iNdEx] 5128 iNdEx++ 5129 msglen |= (int(b) & 0x7F) << shift 5130 if b < 0x80 { 5131 break 5132 } 5133 } 5134 if msglen < 0 { 5135 return ErrInvalidLengthCds 5136 } 5137 postIndex := iNdEx + msglen 5138 if postIndex > l { 5139 return io.ErrUnexpectedEOF 5140 } 5141 if m.MinimumRingSize == nil { 5142 m.MinimumRingSize = &types.UInt64Value{} 5143 } 5144 if err := m.MinimumRingSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5145 return err 5146 } 5147 iNdEx = postIndex 5148 case 2: 5149 if wireType != 2 { 5150 return fmt.Errorf("proto: wrong wireType = %d for field DeprecatedV1", wireType) 5151 } 5152 var msglen int 5153 for shift := uint(0); ; shift += 7 { 5154 if shift >= 64 { 5155 return ErrIntOverflowCds 5156 } 5157 if iNdEx >= l { 5158 return io.ErrUnexpectedEOF 5159 } 5160 b := dAtA[iNdEx] 5161 iNdEx++ 5162 msglen |= (int(b) & 0x7F) << shift 5163 if b < 0x80 { 5164 break 5165 } 5166 } 5167 if msglen < 0 { 5168 return ErrInvalidLengthCds 5169 } 5170 postIndex := iNdEx + msglen 5171 if postIndex > l { 5172 return io.ErrUnexpectedEOF 5173 } 5174 if m.DeprecatedV1 == nil { 5175 m.DeprecatedV1 = &Cluster_RingHashLbConfig_DeprecatedV1{} 5176 } 5177 if err := m.DeprecatedV1.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5178 return err 5179 } 5180 iNdEx = postIndex 5181 default: 5182 iNdEx = preIndex 5183 skippy, err := skipCds(dAtA[iNdEx:]) 5184 if err != nil { 5185 return err 5186 } 5187 if skippy < 0 { 5188 return ErrInvalidLengthCds 5189 } 5190 if (iNdEx + skippy) > l { 5191 return io.ErrUnexpectedEOF 5192 } 5193 m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) 5194 iNdEx += skippy 5195 } 5196 } 5197 5198 if iNdEx > l { 5199 return io.ErrUnexpectedEOF 5200 } 5201 return nil 5202} 5203func (m *Cluster_RingHashLbConfig_DeprecatedV1) Unmarshal(dAtA []byte) error { 5204 l := len(dAtA) 5205 iNdEx := 0 5206 for iNdEx < l { 5207 preIndex := iNdEx 5208 var wire uint64 5209 for shift := uint(0); ; shift += 7 { 5210 if shift >= 64 { 5211 return ErrIntOverflowCds 5212 } 5213 if iNdEx >= l { 5214 return io.ErrUnexpectedEOF 5215 } 5216 b := dAtA[iNdEx] 5217 iNdEx++ 5218 wire |= (uint64(b) & 0x7F) << shift 5219 if b < 0x80 { 5220 break 5221 } 5222 } 5223 fieldNum := int32(wire >> 3) 5224 wireType := int(wire & 0x7) 5225 if wireType == 4 { 5226 return fmt.Errorf("proto: DeprecatedV1: wiretype end group for non-group") 5227 } 5228 if fieldNum <= 0 { 5229 return fmt.Errorf("proto: DeprecatedV1: illegal tag %d (wire type %d)", fieldNum, wire) 5230 } 5231 switch fieldNum { 5232 case 1: 5233 if wireType != 2 { 5234 return fmt.Errorf("proto: wrong wireType = %d for field UseStdHash", wireType) 5235 } 5236 var msglen int 5237 for shift := uint(0); ; shift += 7 { 5238 if shift >= 64 { 5239 return ErrIntOverflowCds 5240 } 5241 if iNdEx >= l { 5242 return io.ErrUnexpectedEOF 5243 } 5244 b := dAtA[iNdEx] 5245 iNdEx++ 5246 msglen |= (int(b) & 0x7F) << shift 5247 if b < 0x80 { 5248 break 5249 } 5250 } 5251 if msglen < 0 { 5252 return ErrInvalidLengthCds 5253 } 5254 postIndex := iNdEx + msglen 5255 if postIndex > l { 5256 return io.ErrUnexpectedEOF 5257 } 5258 if m.UseStdHash == nil { 5259 m.UseStdHash = &types.BoolValue{} 5260 } 5261 if err := m.UseStdHash.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5262 return err 5263 } 5264 iNdEx = postIndex 5265 default: 5266 iNdEx = preIndex 5267 skippy, err := skipCds(dAtA[iNdEx:]) 5268 if err != nil { 5269 return err 5270 } 5271 if skippy < 0 { 5272 return ErrInvalidLengthCds 5273 } 5274 if (iNdEx + skippy) > l { 5275 return io.ErrUnexpectedEOF 5276 } 5277 m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) 5278 iNdEx += skippy 5279 } 5280 } 5281 5282 if iNdEx > l { 5283 return io.ErrUnexpectedEOF 5284 } 5285 return nil 5286} 5287func (m *Cluster_OriginalDstLbConfig) Unmarshal(dAtA []byte) error { 5288 l := len(dAtA) 5289 iNdEx := 0 5290 for iNdEx < l { 5291 preIndex := iNdEx 5292 var wire uint64 5293 for shift := uint(0); ; shift += 7 { 5294 if shift >= 64 { 5295 return ErrIntOverflowCds 5296 } 5297 if iNdEx >= l { 5298 return io.ErrUnexpectedEOF 5299 } 5300 b := dAtA[iNdEx] 5301 iNdEx++ 5302 wire |= (uint64(b) & 0x7F) << shift 5303 if b < 0x80 { 5304 break 5305 } 5306 } 5307 fieldNum := int32(wire >> 3) 5308 wireType := int(wire & 0x7) 5309 if wireType == 4 { 5310 return fmt.Errorf("proto: OriginalDstLbConfig: wiretype end group for non-group") 5311 } 5312 if fieldNum <= 0 { 5313 return fmt.Errorf("proto: OriginalDstLbConfig: illegal tag %d (wire type %d)", fieldNum, wire) 5314 } 5315 switch fieldNum { 5316 case 1: 5317 if wireType != 0 { 5318 return fmt.Errorf("proto: wrong wireType = %d for field UseHttpHeader", wireType) 5319 } 5320 var v int 5321 for shift := uint(0); ; shift += 7 { 5322 if shift >= 64 { 5323 return ErrIntOverflowCds 5324 } 5325 if iNdEx >= l { 5326 return io.ErrUnexpectedEOF 5327 } 5328 b := dAtA[iNdEx] 5329 iNdEx++ 5330 v |= (int(b) & 0x7F) << shift 5331 if b < 0x80 { 5332 break 5333 } 5334 } 5335 m.UseHttpHeader = bool(v != 0) 5336 default: 5337 iNdEx = preIndex 5338 skippy, err := skipCds(dAtA[iNdEx:]) 5339 if err != nil { 5340 return err 5341 } 5342 if skippy < 0 { 5343 return ErrInvalidLengthCds 5344 } 5345 if (iNdEx + skippy) > l { 5346 return io.ErrUnexpectedEOF 5347 } 5348 m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) 5349 iNdEx += skippy 5350 } 5351 } 5352 5353 if iNdEx > l { 5354 return io.ErrUnexpectedEOF 5355 } 5356 return nil 5357} 5358func (m *Cluster_CommonLbConfig) Unmarshal(dAtA []byte) error { 5359 l := len(dAtA) 5360 iNdEx := 0 5361 for iNdEx < l { 5362 preIndex := iNdEx 5363 var wire uint64 5364 for shift := uint(0); ; shift += 7 { 5365 if shift >= 64 { 5366 return ErrIntOverflowCds 5367 } 5368 if iNdEx >= l { 5369 return io.ErrUnexpectedEOF 5370 } 5371 b := dAtA[iNdEx] 5372 iNdEx++ 5373 wire |= (uint64(b) & 0x7F) << shift 5374 if b < 0x80 { 5375 break 5376 } 5377 } 5378 fieldNum := int32(wire >> 3) 5379 wireType := int(wire & 0x7) 5380 if wireType == 4 { 5381 return fmt.Errorf("proto: CommonLbConfig: wiretype end group for non-group") 5382 } 5383 if fieldNum <= 0 { 5384 return fmt.Errorf("proto: CommonLbConfig: illegal tag %d (wire type %d)", fieldNum, wire) 5385 } 5386 switch fieldNum { 5387 case 1: 5388 if wireType != 2 { 5389 return fmt.Errorf("proto: wrong wireType = %d for field HealthyPanicThreshold", wireType) 5390 } 5391 var msglen int 5392 for shift := uint(0); ; shift += 7 { 5393 if shift >= 64 { 5394 return ErrIntOverflowCds 5395 } 5396 if iNdEx >= l { 5397 return io.ErrUnexpectedEOF 5398 } 5399 b := dAtA[iNdEx] 5400 iNdEx++ 5401 msglen |= (int(b) & 0x7F) << shift 5402 if b < 0x80 { 5403 break 5404 } 5405 } 5406 if msglen < 0 { 5407 return ErrInvalidLengthCds 5408 } 5409 postIndex := iNdEx + msglen 5410 if postIndex > l { 5411 return io.ErrUnexpectedEOF 5412 } 5413 if m.HealthyPanicThreshold == nil { 5414 m.HealthyPanicThreshold = &_type.Percent{} 5415 } 5416 if err := m.HealthyPanicThreshold.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5417 return err 5418 } 5419 iNdEx = postIndex 5420 case 2: 5421 if wireType != 2 { 5422 return fmt.Errorf("proto: wrong wireType = %d for field ZoneAwareLbConfig", wireType) 5423 } 5424 var msglen int 5425 for shift := uint(0); ; shift += 7 { 5426 if shift >= 64 { 5427 return ErrIntOverflowCds 5428 } 5429 if iNdEx >= l { 5430 return io.ErrUnexpectedEOF 5431 } 5432 b := dAtA[iNdEx] 5433 iNdEx++ 5434 msglen |= (int(b) & 0x7F) << shift 5435 if b < 0x80 { 5436 break 5437 } 5438 } 5439 if msglen < 0 { 5440 return ErrInvalidLengthCds 5441 } 5442 postIndex := iNdEx + msglen 5443 if postIndex > l { 5444 return io.ErrUnexpectedEOF 5445 } 5446 v := &Cluster_CommonLbConfig_ZoneAwareLbConfig{} 5447 if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5448 return err 5449 } 5450 m.LocalityConfigSpecifier = &Cluster_CommonLbConfig_ZoneAwareLbConfig_{v} 5451 iNdEx = postIndex 5452 case 3: 5453 if wireType != 2 { 5454 return fmt.Errorf("proto: wrong wireType = %d for field LocalityWeightedLbConfig", wireType) 5455 } 5456 var msglen int 5457 for shift := uint(0); ; shift += 7 { 5458 if shift >= 64 { 5459 return ErrIntOverflowCds 5460 } 5461 if iNdEx >= l { 5462 return io.ErrUnexpectedEOF 5463 } 5464 b := dAtA[iNdEx] 5465 iNdEx++ 5466 msglen |= (int(b) & 0x7F) << shift 5467 if b < 0x80 { 5468 break 5469 } 5470 } 5471 if msglen < 0 { 5472 return ErrInvalidLengthCds 5473 } 5474 postIndex := iNdEx + msglen 5475 if postIndex > l { 5476 return io.ErrUnexpectedEOF 5477 } 5478 v := &Cluster_CommonLbConfig_LocalityWeightedLbConfig{} 5479 if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5480 return err 5481 } 5482 m.LocalityConfigSpecifier = &Cluster_CommonLbConfig_LocalityWeightedLbConfig_{v} 5483 iNdEx = postIndex 5484 case 4: 5485 if wireType != 2 { 5486 return fmt.Errorf("proto: wrong wireType = %d for field UpdateMergeWindow", wireType) 5487 } 5488 var msglen int 5489 for shift := uint(0); ; shift += 7 { 5490 if shift >= 64 { 5491 return ErrIntOverflowCds 5492 } 5493 if iNdEx >= l { 5494 return io.ErrUnexpectedEOF 5495 } 5496 b := dAtA[iNdEx] 5497 iNdEx++ 5498 msglen |= (int(b) & 0x7F) << shift 5499 if b < 0x80 { 5500 break 5501 } 5502 } 5503 if msglen < 0 { 5504 return ErrInvalidLengthCds 5505 } 5506 postIndex := iNdEx + msglen 5507 if postIndex > l { 5508 return io.ErrUnexpectedEOF 5509 } 5510 if m.UpdateMergeWindow == nil { 5511 m.UpdateMergeWindow = &types.Duration{} 5512 } 5513 if err := m.UpdateMergeWindow.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5514 return err 5515 } 5516 iNdEx = postIndex 5517 default: 5518 iNdEx = preIndex 5519 skippy, err := skipCds(dAtA[iNdEx:]) 5520 if err != nil { 5521 return err 5522 } 5523 if skippy < 0 { 5524 return ErrInvalidLengthCds 5525 } 5526 if (iNdEx + skippy) > l { 5527 return io.ErrUnexpectedEOF 5528 } 5529 m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) 5530 iNdEx += skippy 5531 } 5532 } 5533 5534 if iNdEx > l { 5535 return io.ErrUnexpectedEOF 5536 } 5537 return nil 5538} 5539func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) Unmarshal(dAtA []byte) error { 5540 l := len(dAtA) 5541 iNdEx := 0 5542 for iNdEx < l { 5543 preIndex := iNdEx 5544 var wire uint64 5545 for shift := uint(0); ; shift += 7 { 5546 if shift >= 64 { 5547 return ErrIntOverflowCds 5548 } 5549 if iNdEx >= l { 5550 return io.ErrUnexpectedEOF 5551 } 5552 b := dAtA[iNdEx] 5553 iNdEx++ 5554 wire |= (uint64(b) & 0x7F) << shift 5555 if b < 0x80 { 5556 break 5557 } 5558 } 5559 fieldNum := int32(wire >> 3) 5560 wireType := int(wire & 0x7) 5561 if wireType == 4 { 5562 return fmt.Errorf("proto: ZoneAwareLbConfig: wiretype end group for non-group") 5563 } 5564 if fieldNum <= 0 { 5565 return fmt.Errorf("proto: ZoneAwareLbConfig: illegal tag %d (wire type %d)", fieldNum, wire) 5566 } 5567 switch fieldNum { 5568 case 1: 5569 if wireType != 2 { 5570 return fmt.Errorf("proto: wrong wireType = %d for field RoutingEnabled", wireType) 5571 } 5572 var msglen int 5573 for shift := uint(0); ; shift += 7 { 5574 if shift >= 64 { 5575 return ErrIntOverflowCds 5576 } 5577 if iNdEx >= l { 5578 return io.ErrUnexpectedEOF 5579 } 5580 b := dAtA[iNdEx] 5581 iNdEx++ 5582 msglen |= (int(b) & 0x7F) << shift 5583 if b < 0x80 { 5584 break 5585 } 5586 } 5587 if msglen < 0 { 5588 return ErrInvalidLengthCds 5589 } 5590 postIndex := iNdEx + msglen 5591 if postIndex > l { 5592 return io.ErrUnexpectedEOF 5593 } 5594 if m.RoutingEnabled == nil { 5595 m.RoutingEnabled = &_type.Percent{} 5596 } 5597 if err := m.RoutingEnabled.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5598 return err 5599 } 5600 iNdEx = postIndex 5601 case 2: 5602 if wireType != 2 { 5603 return fmt.Errorf("proto: wrong wireType = %d for field MinClusterSize", wireType) 5604 } 5605 var msglen int 5606 for shift := uint(0); ; shift += 7 { 5607 if shift >= 64 { 5608 return ErrIntOverflowCds 5609 } 5610 if iNdEx >= l { 5611 return io.ErrUnexpectedEOF 5612 } 5613 b := dAtA[iNdEx] 5614 iNdEx++ 5615 msglen |= (int(b) & 0x7F) << shift 5616 if b < 0x80 { 5617 break 5618 } 5619 } 5620 if msglen < 0 { 5621 return ErrInvalidLengthCds 5622 } 5623 postIndex := iNdEx + msglen 5624 if postIndex > l { 5625 return io.ErrUnexpectedEOF 5626 } 5627 if m.MinClusterSize == nil { 5628 m.MinClusterSize = &types.UInt64Value{} 5629 } 5630 if err := m.MinClusterSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5631 return err 5632 } 5633 iNdEx = postIndex 5634 default: 5635 iNdEx = preIndex 5636 skippy, err := skipCds(dAtA[iNdEx:]) 5637 if err != nil { 5638 return err 5639 } 5640 if skippy < 0 { 5641 return ErrInvalidLengthCds 5642 } 5643 if (iNdEx + skippy) > l { 5644 return io.ErrUnexpectedEOF 5645 } 5646 m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) 5647 iNdEx += skippy 5648 } 5649 } 5650 5651 if iNdEx > l { 5652 return io.ErrUnexpectedEOF 5653 } 5654 return nil 5655} 5656func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) Unmarshal(dAtA []byte) error { 5657 l := len(dAtA) 5658 iNdEx := 0 5659 for iNdEx < l { 5660 preIndex := iNdEx 5661 var wire uint64 5662 for shift := uint(0); ; shift += 7 { 5663 if shift >= 64 { 5664 return ErrIntOverflowCds 5665 } 5666 if iNdEx >= l { 5667 return io.ErrUnexpectedEOF 5668 } 5669 b := dAtA[iNdEx] 5670 iNdEx++ 5671 wire |= (uint64(b) & 0x7F) << shift 5672 if b < 0x80 { 5673 break 5674 } 5675 } 5676 fieldNum := int32(wire >> 3) 5677 wireType := int(wire & 0x7) 5678 if wireType == 4 { 5679 return fmt.Errorf("proto: LocalityWeightedLbConfig: wiretype end group for non-group") 5680 } 5681 if fieldNum <= 0 { 5682 return fmt.Errorf("proto: LocalityWeightedLbConfig: illegal tag %d (wire type %d)", fieldNum, wire) 5683 } 5684 switch fieldNum { 5685 default: 5686 iNdEx = preIndex 5687 skippy, err := skipCds(dAtA[iNdEx:]) 5688 if err != nil { 5689 return err 5690 } 5691 if skippy < 0 { 5692 return ErrInvalidLengthCds 5693 } 5694 if (iNdEx + skippy) > l { 5695 return io.ErrUnexpectedEOF 5696 } 5697 m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) 5698 iNdEx += skippy 5699 } 5700 } 5701 5702 if iNdEx > l { 5703 return io.ErrUnexpectedEOF 5704 } 5705 return nil 5706} 5707func (m *UpstreamBindConfig) Unmarshal(dAtA []byte) error { 5708 l := len(dAtA) 5709 iNdEx := 0 5710 for iNdEx < l { 5711 preIndex := iNdEx 5712 var wire uint64 5713 for shift := uint(0); ; shift += 7 { 5714 if shift >= 64 { 5715 return ErrIntOverflowCds 5716 } 5717 if iNdEx >= l { 5718 return io.ErrUnexpectedEOF 5719 } 5720 b := dAtA[iNdEx] 5721 iNdEx++ 5722 wire |= (uint64(b) & 0x7F) << shift 5723 if b < 0x80 { 5724 break 5725 } 5726 } 5727 fieldNum := int32(wire >> 3) 5728 wireType := int(wire & 0x7) 5729 if wireType == 4 { 5730 return fmt.Errorf("proto: UpstreamBindConfig: wiretype end group for non-group") 5731 } 5732 if fieldNum <= 0 { 5733 return fmt.Errorf("proto: UpstreamBindConfig: illegal tag %d (wire type %d)", fieldNum, wire) 5734 } 5735 switch fieldNum { 5736 case 1: 5737 if wireType != 2 { 5738 return fmt.Errorf("proto: wrong wireType = %d for field SourceAddress", wireType) 5739 } 5740 var msglen int 5741 for shift := uint(0); ; shift += 7 { 5742 if shift >= 64 { 5743 return ErrIntOverflowCds 5744 } 5745 if iNdEx >= l { 5746 return io.ErrUnexpectedEOF 5747 } 5748 b := dAtA[iNdEx] 5749 iNdEx++ 5750 msglen |= (int(b) & 0x7F) << shift 5751 if b < 0x80 { 5752 break 5753 } 5754 } 5755 if msglen < 0 { 5756 return ErrInvalidLengthCds 5757 } 5758 postIndex := iNdEx + msglen 5759 if postIndex > l { 5760 return io.ErrUnexpectedEOF 5761 } 5762 if m.SourceAddress == nil { 5763 m.SourceAddress = &core.Address{} 5764 } 5765 if err := m.SourceAddress.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5766 return err 5767 } 5768 iNdEx = postIndex 5769 default: 5770 iNdEx = preIndex 5771 skippy, err := skipCds(dAtA[iNdEx:]) 5772 if err != nil { 5773 return err 5774 } 5775 if skippy < 0 { 5776 return ErrInvalidLengthCds 5777 } 5778 if (iNdEx + skippy) > l { 5779 return io.ErrUnexpectedEOF 5780 } 5781 m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) 5782 iNdEx += skippy 5783 } 5784 } 5785 5786 if iNdEx > l { 5787 return io.ErrUnexpectedEOF 5788 } 5789 return nil 5790} 5791func (m *UpstreamConnectionOptions) Unmarshal(dAtA []byte) error { 5792 l := len(dAtA) 5793 iNdEx := 0 5794 for iNdEx < l { 5795 preIndex := iNdEx 5796 var wire uint64 5797 for shift := uint(0); ; shift += 7 { 5798 if shift >= 64 { 5799 return ErrIntOverflowCds 5800 } 5801 if iNdEx >= l { 5802 return io.ErrUnexpectedEOF 5803 } 5804 b := dAtA[iNdEx] 5805 iNdEx++ 5806 wire |= (uint64(b) & 0x7F) << shift 5807 if b < 0x80 { 5808 break 5809 } 5810 } 5811 fieldNum := int32(wire >> 3) 5812 wireType := int(wire & 0x7) 5813 if wireType == 4 { 5814 return fmt.Errorf("proto: UpstreamConnectionOptions: wiretype end group for non-group") 5815 } 5816 if fieldNum <= 0 { 5817 return fmt.Errorf("proto: UpstreamConnectionOptions: illegal tag %d (wire type %d)", fieldNum, wire) 5818 } 5819 switch fieldNum { 5820 case 1: 5821 if wireType != 2 { 5822 return fmt.Errorf("proto: wrong wireType = %d for field TcpKeepalive", wireType) 5823 } 5824 var msglen int 5825 for shift := uint(0); ; shift += 7 { 5826 if shift >= 64 { 5827 return ErrIntOverflowCds 5828 } 5829 if iNdEx >= l { 5830 return io.ErrUnexpectedEOF 5831 } 5832 b := dAtA[iNdEx] 5833 iNdEx++ 5834 msglen |= (int(b) & 0x7F) << shift 5835 if b < 0x80 { 5836 break 5837 } 5838 } 5839 if msglen < 0 { 5840 return ErrInvalidLengthCds 5841 } 5842 postIndex := iNdEx + msglen 5843 if postIndex > l { 5844 return io.ErrUnexpectedEOF 5845 } 5846 if m.TcpKeepalive == nil { 5847 m.TcpKeepalive = &core.TcpKeepalive{} 5848 } 5849 if err := m.TcpKeepalive.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 5850 return err 5851 } 5852 iNdEx = postIndex 5853 default: 5854 iNdEx = preIndex 5855 skippy, err := skipCds(dAtA[iNdEx:]) 5856 if err != nil { 5857 return err 5858 } 5859 if skippy < 0 { 5860 return ErrInvalidLengthCds 5861 } 5862 if (iNdEx + skippy) > l { 5863 return io.ErrUnexpectedEOF 5864 } 5865 m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) 5866 iNdEx += skippy 5867 } 5868 } 5869 5870 if iNdEx > l { 5871 return io.ErrUnexpectedEOF 5872 } 5873 return nil 5874} 5875func skipCds(dAtA []byte) (n int, err error) { 5876 l := len(dAtA) 5877 iNdEx := 0 5878 for iNdEx < l { 5879 var wire uint64 5880 for shift := uint(0); ; shift += 7 { 5881 if shift >= 64 { 5882 return 0, ErrIntOverflowCds 5883 } 5884 if iNdEx >= l { 5885 return 0, io.ErrUnexpectedEOF 5886 } 5887 b := dAtA[iNdEx] 5888 iNdEx++ 5889 wire |= (uint64(b) & 0x7F) << shift 5890 if b < 0x80 { 5891 break 5892 } 5893 } 5894 wireType := int(wire & 0x7) 5895 switch wireType { 5896 case 0: 5897 for shift := uint(0); ; shift += 7 { 5898 if shift >= 64 { 5899 return 0, ErrIntOverflowCds 5900 } 5901 if iNdEx >= l { 5902 return 0, io.ErrUnexpectedEOF 5903 } 5904 iNdEx++ 5905 if dAtA[iNdEx-1] < 0x80 { 5906 break 5907 } 5908 } 5909 return iNdEx, nil 5910 case 1: 5911 iNdEx += 8 5912 return iNdEx, nil 5913 case 2: 5914 var length int 5915 for shift := uint(0); ; shift += 7 { 5916 if shift >= 64 { 5917 return 0, ErrIntOverflowCds 5918 } 5919 if iNdEx >= l { 5920 return 0, io.ErrUnexpectedEOF 5921 } 5922 b := dAtA[iNdEx] 5923 iNdEx++ 5924 length |= (int(b) & 0x7F) << shift 5925 if b < 0x80 { 5926 break 5927 } 5928 } 5929 iNdEx += length 5930 if length < 0 { 5931 return 0, ErrInvalidLengthCds 5932 } 5933 return iNdEx, nil 5934 case 3: 5935 for { 5936 var innerWire uint64 5937 var start int = iNdEx 5938 for shift := uint(0); ; shift += 7 { 5939 if shift >= 64 { 5940 return 0, ErrIntOverflowCds 5941 } 5942 if iNdEx >= l { 5943 return 0, io.ErrUnexpectedEOF 5944 } 5945 b := dAtA[iNdEx] 5946 iNdEx++ 5947 innerWire |= (uint64(b) & 0x7F) << shift 5948 if b < 0x80 { 5949 break 5950 } 5951 } 5952 innerWireType := int(innerWire & 0x7) 5953 if innerWireType == 4 { 5954 break 5955 } 5956 next, err := skipCds(dAtA[start:]) 5957 if err != nil { 5958 return 0, err 5959 } 5960 iNdEx = start + next 5961 } 5962 return iNdEx, nil 5963 case 4: 5964 return iNdEx, nil 5965 case 5: 5966 iNdEx += 4 5967 return iNdEx, nil 5968 default: 5969 return 0, fmt.Errorf("proto: illegal wireType %d", wireType) 5970 } 5971 } 5972 panic("unreachable") 5973} 5974 5975var ( 5976 ErrInvalidLengthCds = fmt.Errorf("proto: negative length found during unmarshaling") 5977 ErrIntOverflowCds = fmt.Errorf("proto: integer overflow") 5978) 5979 5980func init() { proto.RegisterFile("envoy/api/v2/cds.proto", fileDescriptor_cds_c9aad078b729c273) } 5981 5982var fileDescriptor_cds_c9aad078b729c273 = []byte{ 5983 // 2344 bytes of a gzipped FileDescriptorProto 5984 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcd, 0x6f, 0x1b, 0xc7, 5985 0x15, 0xd7, 0x52, 0x72, 0x2c, 0x3d, 0x89, 0xe4, 0x6a, 0xe4, 0x8f, 0x35, 0x65, 0xcb, 0x32, 0xf3, 5986 0x51, 0xd5, 0x68, 0xa9, 0x46, 0x4e, 0xd2, 0x22, 0x4d, 0x52, 0xf0, 0x4b, 0x16, 0x13, 0x9a, 0x54, 5987 0x77, 0x29, 0x0b, 0x69, 0x1a, 0x4c, 0x86, 0xbb, 0x23, 0x72, 0xab, 0xe5, 0xee, 0x66, 0x67, 0x56, 5988 0xb6, 0x7c, 0x28, 0x82, 0x9c, 0x7a, 0x2f, 0x50, 0xb4, 0xff, 0x41, 0xd1, 0x3f, 0xa1, 0xa7, 0x1e, 5989 0x73, 0x6c, 0xd1, 0x63, 0x81, 0xb6, 0x30, 0x72, 0x68, 0xff, 0x8b, 0x62, 0x66, 0x67, 0x69, 0x7e, 5990 0xac, 0x6c, 0x05, 0xe8, 0x89, 0x9c, 0xf7, 0x7e, 0xef, 0x37, 0x33, 0x6f, 0xdf, 0x7b, 0xf3, 0x66, 5991 0xe0, 0x06, 0xf5, 0xcf, 0x82, 0xf3, 0x5d, 0x12, 0xba, 0xbb, 0x67, 0x7b, 0xbb, 0xb6, 0xc3, 0x2a, 5992 0x61, 0x14, 0xf0, 0x00, 0xad, 0x49, 0x79, 0x85, 0x84, 0x6e, 0xe5, 0x6c, 0xaf, 0x74, 0x77, 0x1a, 5993 0x15, 0x44, 0x74, 0x97, 0x38, 0x4e, 0x44, 0x99, 0x82, 0x97, 0x6e, 0x4f, 0x01, 0x48, 0xcc, 0x87, 5994 0xbb, 0x36, 0x8d, 0x78, 0xa6, 0x56, 0x9a, 0xf7, 0x09, 0xa3, 0x4a, 0xfb, 0xe6, 0xbc, 0xd6, 0x0e, 5995 0xfc, 0x13, 0x77, 0x80, 0x59, 0x10, 0x47, 0x36, 0xcd, 0x24, 0x71, 0x5c, 0x66, 0x07, 0x67, 0x34, 5996 0x3a, 0x57, 0xda, 0x37, 0xe6, 0x49, 0x86, 0x94, 0x78, 0x7c, 0x88, 0xed, 0x21, 0xb5, 0x4f, 0x15, 5997 0x6a, 0x7b, 0x1e, 0x25, 0x15, 0x76, 0xe0, 0x29, 0xc4, 0xfd, 0x69, 0x84, 0x17, 0x33, 0x4e, 0xa3, 5998 0x5d, 0xdb, 0x8d, 0xec, 0xd8, 0xe5, 0xb8, 0x1f, 0x51, 0x72, 0x4a, 0x23, 0x85, 0xfd, 0x41, 0x26, 5999 0x36, 0x88, 0xb9, 0xe7, 0xd2, 0x08, 0x3b, 0x94, 0x53, 0x9b, 0xbb, 0x81, 0xaf, 0xd0, 0xd3, 0x9e, 6000 0xa6, 0xa9, 0xa7, 0x4b, 0x46, 0x22, 0xe7, 0xe7, 0x21, 0xdd, 0x0d, 0x69, 0x64, 0x53, 0x7f, 0xec, 6001 0xb6, 0x41, 0x10, 0x0c, 0x3c, 0x2a, 0x4d, 0x88, 0xef, 0x07, 0x9c, 0x08, 0xba, 0xd4, 0x6e, 0x4b, 6002 0x69, 0xe5, 0xa8, 0x1f, 0x9f, 0xec, 0x3a, 0x71, 0x44, 0x26, 0xe6, 0xbb, 0x3d, 0xab, 0x67, 0x3c, 6003 0x8a, 0x6d, 0x7e, 0x91, 0xf5, 0x93, 0x88, 0x84, 0x21, 0x8d, 0x52, 0xf6, 0x9b, 0x67, 0xc4, 0x73, 6004 0x1d, 0xc2, 0xe9, 0x6e, 0xfa, 0x47, 0x29, 0xae, 0x0d, 0x82, 0x41, 0x20, 0xff, 0xee, 0x8a, 0x7f, 6005 0x89, 0xb4, 0xfc, 0xed, 0x1b, 0x70, 0xb5, 0x9e, 0x38, 0x00, 0xdd, 0x81, 0x25, 0x9f, 0x8c, 0xa8, 6006 0xa1, 0x6d, 0x6b, 0x3b, 0x2b, 0xb5, 0x95, 0x3f, 0xff, 0xf7, 0x2f, 0x8b, 0x4b, 0x51, 0x6e, 0x5b, 6007 0x33, 0xa5, 0x18, 0xd5, 0x61, 0x49, 0xec, 0xd5, 0xc8, 0x6d, 0x6b, 0x3b, 0x85, 0xbd, 0xd7, 0x2b, 6008 0x93, 0x81, 0x56, 0x51, 0x1c, 0x95, 0x46, 0xfa, 0x79, 0x7b, 0xe7, 0x21, 0xad, 0x81, 0xe0, 0xb8, 6009 0xf2, 0xb5, 0x96, 0xd3, 0x35, 0x53, 0x1a, 0xa3, 0x1e, 0x20, 0xea, 0x30, 0xac, 0x7c, 0x8e, 0x93, 6010 0x78, 0x31, 0x16, 0xb7, 0xb5, 0x9d, 0xd5, 0xbd, 0xb7, 0xb2, 0x29, 0x9b, 0x0e, 0x53, 0x7f, 0xeb, 6011 0x12, 0x6d, 0xea, 0x74, 0x46, 0x82, 0x1e, 0x43, 0xd1, 0x0e, 0x7c, 0x9f, 0xda, 0x1c, 0x73, 0x77, 6012 0x44, 0x83, 0x98, 0x1b, 0x4b, 0x92, 0xf2, 0x56, 0x25, 0x71, 0x57, 0x25, 0x75, 0x57, 0xa5, 0xa1, 6013 0x9c, 0x5d, 0x43, 0xdf, 0xfc, 0xf3, 0xee, 0xc2, 0xef, 0xff, 0x75, 0x57, 0x93, 0x6b, 0xfc, 0x93, 6014 0x96, 0xbb, 0xbf, 0x60, 0x16, 0x14, 0x4b, 0x2f, 0x21, 0x41, 0x27, 0x70, 0x2f, 0x4c, 0x56, 0xe9, 6015 0x27, 0x21, 0x81, 0xfb, 0xf1, 0xc9, 0x09, 0x8d, 0xb0, 0xe7, 0x8e, 0x44, 0x54, 0x9d, 0x73, 0xca, 6016 0x8c, 0x2b, 0x72, 0xa6, 0xdb, 0x73, 0x33, 0x1d, 0xb5, 0x7c, 0xfe, 0x60, 0xef, 0x31, 0xf1, 0x62, 6017 0x6a, 0xde, 0x09, 0xe5, 0x5a, 0x15, 0x4b, 0x4d, 0x92, 0xb4, 0x05, 0x47, 0x4d, 0x50, 0xa0, 0x87, 6018 0xb0, 0xe2, 0xf5, 0x71, 0x18, 0x78, 0xae, 0x7d, 0x6e, 0xbc, 0x26, 0xfd, 0xbb, 0x95, 0xed, 0x8c, 6019 0x76, 0xff, 0x50, 0xa2, 0xa6, 0x5c, 0xbb, 0xec, 0x29, 0x29, 0x7a, 0x07, 0xae, 0x0c, 0x03, 0xc6, 6020 0x99, 0x71, 0x75, 0x7b, 0x71, 0x67, 0x75, 0xaf, 0x34, 0x4d, 0x22, 0xf2, 0xa6, 0x52, 0x4d, 0xf2, 6021 0xbf, 0x96, 0x33, 0x34, 0x33, 0x01, 0xa3, 0x3a, 0xe4, 0x27, 0x73, 0x8e, 0x19, 0xcb, 0xd2, 0x7a, 6022 0x2b, 0xc3, 0xfa, 0x40, 0xe2, 0xea, 0x02, 0x66, 0xae, 0x0d, 0x5f, 0x0c, 0x18, 0xfa, 0x0c, 0x36, 6023 0x47, 0xe4, 0x29, 0x8e, 0xe8, 0x97, 0x31, 0x65, 0x9c, 0xe1, 0x69, 0xc7, 0x19, 0x2b, 0x97, 0xf0, 6024 0x92, 0x31, 0x22, 0x4f, 0x4d, 0x65, 0x7f, 0x38, 0xe9, 0x30, 0x74, 0x08, 0xfa, 0x4c, 0x2a, 0x33, 6025 0x03, 0x24, 0xe3, 0x9b, 0x33, 0x8b, 0x54, 0x7e, 0xaa, 0x27, 0xe8, 0x9a, 0x02, 0x9b, 0x45, 0x7b, 6026 0x5a, 0x80, 0xf6, 0x61, 0x95, 0x7b, 0x4c, 0xac, 0x90, 0xd3, 0xa7, 0xdc, 0x58, 0xcd, 0x22, 0x13, 6027 0xe5, 0xb0, 0x72, 0x14, 0x32, 0x1e, 0x51, 0x32, 0xea, 0x79, 0xac, 0x9e, 0x80, 0x4d, 0xe0, 0xe3, 6028 0xff, 0xe8, 0x33, 0xb8, 0x3e, 0xe4, 0x3c, 0xc4, 0x69, 0x39, 0xc2, 0x41, 0x28, 0x93, 0xdd, 0xc8, 6029 0x4b, 0xc6, 0xef, 0x65, 0xf9, 0x90, 0xf3, 0xf0, 0xed, 0x43, 0x85, 0xef, 0x26, 0x70, 0x73, 0x43, 6030 0xb0, 0xcc, 0x08, 0xd1, 0xe7, 0x70, 0x43, 0x88, 0xf7, 0xe6, 0xd9, 0x0b, 0x2f, 0x65, 0xdf, 0x9b, 6031 0x65, 0xbf, 0x36, 0xcc, 0x90, 0x22, 0x0b, 0x74, 0xc7, 0x67, 0x38, 0xa2, 0x27, 0x11, 0x65, 0x43, 6032 0x1c, 0x11, 0x4e, 0x0d, 0xfd, 0x55, 0x79, 0x53, 0x98, 0xcd, 0x19, 0xc7, 0x67, 0x66, 0xc2, 0x60, 6033 0x12, 0x4e, 0xd1, 0xe7, 0xb0, 0x2e, 0x48, 0xbd, 0x20, 0x38, 0x8d, 0x43, 0x7c, 0x42, 0x46, 0xae, 6034 0x77, 0x6e, 0xac, 0xcb, 0x98, 0x7e, 0xf3, 0x82, 0x9a, 0xe1, 0xb3, 0xb6, 0x44, 0xef, 0x4b, 0xf0, 6035 0x54, 0x68, 0x17, 0x9d, 0x69, 0x25, 0xfa, 0x19, 0xe4, 0x93, 0x35, 0xb3, 0xc0, 0x3b, 0x13, 0x61, 6036 0x80, 0x5e, 0x15, 0xe9, 0xe6, 0x9a, 0x5c, 0xa1, 0xc2, 0x23, 0x0b, 0xd6, 0xe7, 0x2a, 0xbd, 0xb1, 6037 0x91, 0x55, 0x80, 0xd2, 0x58, 0xea, 0x26, 0xf0, 0x46, 0x8a, 0x36, 0xf5, 0x60, 0x46, 0x82, 0x7a, 6038 0xa0, 0xdb, 0x1e, 0x25, 0x7e, 0x1c, 0x62, 0xd7, 0xe7, 0x34, 0x3a, 0x23, 0x9e, 0x71, 0xed, 0xbb, 6039 0x7a, 0xb2, 0xa8, 0x28, 0x5a, 0x8a, 0x01, 0x75, 0xe1, 0x5a, 0xac, 0xa2, 0x0f, 0xf7, 0x5d, 0xdf, 6040 0x49, 0xcb, 0xe5, 0x75, 0xc9, 0x7c, 0x27, 0x63, 0xcb, 0x35, 0xd7, 0x77, 0x54, 0x95, 0x44, 0xa9, 6041 0xe9, 0x0b, 0x19, 0xea, 0x80, 0xee, 0xf5, 0x31, 0x8b, 0xfb, 0x8c, 0xf2, 0x94, 0xec, 0x86, 0x24, 6042 0x7b, 0xe3, 0xa2, 0x72, 0x63, 0x49, 0xb0, 0xe2, 0x2c, 0x78, 0x53, 0x63, 0x74, 0x0c, 0x1b, 0x91, 6043 0xeb, 0x0f, 0xf0, 0x90, 0xb0, 0x21, 0xf6, 0xfa, 0x29, 0xe5, 0xcd, 0x97, 0x95, 0x73, 0xd3, 0xf5, 6044 0x07, 0x07, 0x84, 0x0d, 0xdb, 0xfd, 0x84, 0xe4, 0x60, 0xc1, 0xd4, 0xa3, 0x19, 0x19, 0x7a, 0x04, 6045 0x3a, 0x8f, 0x88, 0xcf, 0xc2, 0x20, 0xe2, 0x98, 0x05, 0xf6, 0x29, 0xe5, 0x86, 0x21, 0x59, 0xcb, 6046 0x19, 0xbb, 0xee, 0xa5, 0x50, 0x4b, 0x22, 0xcd, 0x22, 0x9f, 0x16, 0xa0, 0x1f, 0xc3, 0xf2, 0x88, 6047 0x72, 0xe2, 0x10, 0x4e, 0x8c, 0x5b, 0x92, 0x66, 0x33, 0x83, 0xe6, 0x91, 0x82, 0x98, 0x63, 0x30, 6048 0xfa, 0x1c, 0xd0, 0x38, 0xf5, 0x18, 0xf5, 0x54, 0xb4, 0x94, 0x64, 0x34, 0x57, 0xb2, 0xf7, 0xa7, 6049 0x7e, 0xd3, 0x5c, 0xb3, 0x52, 0x2b, 0x73, 0x3d, 0x9c, 0x15, 0x89, 0xef, 0x61, 0x07, 0xa3, 0x51, 6050 0xe0, 0x4f, 0x38, 0x6f, 0xf3, 0x65, 0xdf, 0xa3, 0x2e, 0xd1, 0xa9, 0x9b, 0xc4, 0x79, 0x35, 0x39, 6051 0x46, 0x65, 0xc8, 0x13, 0x8f, 0x63, 0xc6, 0x09, 0xc7, 0xf2, 0x28, 0xbf, 0x2d, 0x8e, 0x72, 0x73, 6052 0x95, 0x78, 0xdc, 0xe2, 0x84, 0x77, 0xc4, 0x31, 0x3e, 0x80, 0xdb, 0x6a, 0xce, 0xec, 0xba, 0x75, 6053 0x27, 0x33, 0x15, 0xd2, 0xca, 0x32, 0x5b, 0x58, 0x6e, 0x25, 0x5c, 0x19, 0x2a, 0x34, 0x80, 0xcd, 6054 0x71, 0xf4, 0x4e, 0x9c, 0xa0, 0xe9, 0x3c, 0x5b, 0x59, 0x15, 0x2c, 0x2d, 0xb6, 0x2f, 0x4a, 0xff, 6055 0x78, 0xa2, 0xf8, 0x22, 0x15, 0x3a, 0x82, 0x1d, 0xdb, 0x0b, 0x18, 0x9d, 0x98, 0x85, 0x61, 0xb1, 6056 0xbf, 0x80, 0x71, 0xac, 0x0e, 0xb6, 0x13, 0xe2, 0x7a, 0x71, 0x44, 0x8d, 0xbb, 0xdb, 0xda, 0xce, 6057 0xb2, 0xf9, 0xba, 0xc4, 0xbf, 0x60, 0x62, 0x5d, 0xff, 0x20, 0x60, 0x3c, 0x39, 0xdc, 0xf6, 0x13, 6058 0x28, 0x3a, 0x80, 0x7b, 0x4e, 0x44, 0x5c, 0x3f, 0x93, 0x36, 0xa2, 0xa3, 0x40, 0x24, 0xf9, 0xb6, 6059 0xe4, 0xbb, 0x23, 0x81, 0x73, 0x7c, 0x66, 0x02, 0x42, 0x6d, 0x28, 0x7a, 0x01, 0x71, 0x30, 0x61, 6060 0xcc, 0x1d, 0xf8, 0x23, 0xea, 0x73, 0xe3, 0x9e, 0xdc, 0x7d, 0x76, 0x13, 0xd5, 0x0e, 0x88, 0x53, 6061 0x1d, 0x43, 0xcd, 0x82, 0x37, 0x35, 0x46, 0x5f, 0xc0, 0x8d, 0x20, 0x72, 0x07, 0xae, 0x4f, 0x3c, 6062 0xec, 0x30, 0x3e, 0x11, 0x3a, 0x65, 0x49, 0xfa, 0xfd, 0xec, 0xd0, 0xe9, 0x2a, 0x9b, 0x06, 0xe3, 6063 0x13, 0xa9, 0xb7, 0x11, 0xcc, 0x8b, 0xd1, 0x97, 0x50, 0xa2, 0x4f, 0x39, 0xf5, 0x99, 0xf8, 0x5e, 6064 0x73, 0x01, 0xf2, 0xba, 0x2c, 0xb8, 0x0f, 0x2e, 0x68, 0xd6, 0x52, 0xbb, 0x99, 0x68, 0x68, 0xfa, 6065 0x3c, 0x3a, 0x37, 0x0d, 0x7a, 0x81, 0xba, 0x14, 0x83, 0x3e, 0xdb, 0xe7, 0xa1, 0x8f, 0x00, 0x64, 6066 0xaf, 0x98, 0x6c, 0x4e, 0x93, 0x9b, 0xbb, 0x9b, 0x11, 0x97, 0x09, 0xdc, 0x92, 0x77, 0x0e, 0x73, 6067 0x45, 0x34, 0x87, 0x89, 0xfd, 0x3d, 0x58, 0x63, 0x34, 0x3a, 0x73, 0x6d, 0x9a, 0x24, 0x43, 0x2e, 6068 0x49, 0x06, 0x25, 0x13, 0xc9, 0x50, 0x72, 0xe0, 0xce, 0x4b, 0x57, 0x8c, 0x74, 0x58, 0x3c, 0xa5, 6069 0xe7, 0x49, 0x4b, 0x6c, 0x8a, 0xbf, 0xe8, 0x87, 0x70, 0xe5, 0x4c, 0x74, 0x2b, 0x92, 0x6e, 0x75, 6070 0xef, 0xe6, 0x5c, 0x7d, 0xb7, 0x64, 0xbb, 0x6e, 0x26, 0xa8, 0xf7, 0x73, 0x3f, 0xd1, 0x4a, 0x7f, 6071 0x5b, 0x84, 0xc2, 0x74, 0x25, 0x45, 0x21, 0x14, 0x4f, 0x88, 0xe7, 0xf5, 0x89, 0x7d, 0x9a, 0xf6, 6072 0x7d, 0x9a, 0xac, 0x2a, 0x3f, 0xbd, 0x4c, 0x21, 0x1e, 0x0f, 0xf7, 0x15, 0x47, 0x46, 0x53, 0x58, 6073 0x38, 0x99, 0xd2, 0xa1, 0x8f, 0xa0, 0xe0, 0xd0, 0x13, 0x12, 0x8b, 0xfa, 0x20, 0x6d, 0x5f, 0xb5, 6074 0x81, 0xbc, 0x82, 0x27, 0x33, 0xa1, 0x2f, 0x40, 0x57, 0x07, 0x47, 0x52, 0x08, 0x83, 0x88, 0x19, 6075 0x8b, 0x32, 0x14, 0xde, 0xfd, 0x4e, 0x4b, 0xb6, 0x94, 0xb5, 0x59, 0x64, 0x53, 0x63, 0x86, 0xf6, 6076 0xe0, 0xba, 0x17, 0xd8, 0xc4, 0x73, 0xf9, 0x39, 0x7e, 0x42, 0xdd, 0xc1, 0x90, 0x63, 0xf2, 0x84, 6077 0x44, 0x54, 0xf6, 0xf2, 0xcb, 0xe6, 0x46, 0xaa, 0x3c, 0x96, 0xba, 0xaa, 0x50, 0x95, 0xde, 0x02, 6078 0x7d, 0x96, 0x18, 0x21, 0x58, 0x3a, 0xa5, 0xe7, 0xcc, 0xd0, 0xb6, 0x17, 0x77, 0x56, 0x4c, 0xf9, 6079 0xbf, 0xdc, 0x85, 0x1b, 0xd9, 0x3e, 0x43, 0x45, 0x58, 0xed, 0x74, 0xf1, 0x7e, 0xb5, 0xdd, 0xae, 6080 0x55, 0xeb, 0x9f, 0xe8, 0x0b, 0x48, 0x87, 0xb5, 0x6a, 0xe7, 0x53, 0xdc, 0xec, 0x34, 0x0e, 0xbb, 6081 0xad, 0x4e, 0x4f, 0xd7, 0x10, 0x82, 0x42, 0xa3, 0xb9, 0x5f, 0x3d, 0x6a, 0xf7, 0xb0, 0x75, 0x54, 6082 0xb3, 0x9a, 0x3d, 0x3d, 0x57, 0xfa, 0x5d, 0x0e, 0xf4, 0xd9, 0xa3, 0x0c, 0x3d, 0x86, 0xf5, 0x91, 6083 0xeb, 0xbb, 0xa3, 0x78, 0x84, 0xe5, 0xb9, 0xc8, 0xdc, 0x67, 0x54, 0x05, 0x6e, 0x76, 0xe7, 0xfb, 6084 0xde, 0x3b, 0xb2, 0xf3, 0xad, 0xad, 0x89, 0x0f, 0x77, 0x75, 0xef, 0x8a, 0xf1, 0xd5, 0x57, 0x5f, 6085 0x2d, 0x99, 0x45, 0x45, 0x22, 0xf8, 0x2d, 0xf7, 0x19, 0x45, 0xbf, 0x84, 0xbc, 0x43, 0xc3, 0x88, 6086 0xda, 0x84, 0x53, 0x07, 0x9f, 0xbd, 0xad, 0x3e, 0xdd, 0x83, 0xcb, 0x9d, 0xb0, 0x95, 0xc6, 0xd8, 6087 0xf6, 0xf1, 0xdb, 0xb2, 0xef, 0x5f, 0x73, 0x26, 0x24, 0xa5, 0x36, 0xac, 0x4d, 0x22, 0xd0, 0x07, 6088 0xb0, 0x16, 0x33, 0x8a, 0x19, 0x77, 0xe4, 0xc1, 0xae, 0x36, 0x50, 0x9a, 0xdb, 0x40, 0x2d, 0x08, 6089 0xbc, 0xa4, 0x71, 0x87, 0x98, 0x51, 0x8b, 0x3b, 0x62, 0xd2, 0xd2, 0x87, 0xb0, 0x91, 0x51, 0x6a, 6090 0xd0, 0x5b, 0x50, 0x14, 0xa4, 0xf2, 0xcc, 0x19, 0x52, 0xe2, 0xd0, 0x48, 0xf2, 0x2e, 0x9b, 0xf9, 6091 0x98, 0x51, 0x71, 0x7c, 0x1c, 0x48, 0x61, 0xe9, 0x3f, 0x4b, 0x50, 0x98, 0x3e, 0xe5, 0xd0, 0x27, 6092 0x70, 0x33, 0xa9, 0xe2, 0xe7, 0x38, 0x24, 0xbe, 0x6b, 0x63, 0x3e, 0x14, 0xdd, 0x66, 0xe0, 0x39, 6093 0x6a, 0x69, 0x1b, 0xca, 0x0f, 0xe2, 0x86, 0x59, 0x39, 0x4c, 0xae, 0xe2, 0xe6, 0x75, 0x65, 0x73, 6094 0x28, 0x4c, 0x7a, 0xa9, 0x05, 0x72, 0xe1, 0xda, 0xb3, 0xc0, 0xa7, 0x49, 0x64, 0x4d, 0xd4, 0xce, 6095 0xc4, 0xa3, 0xef, 0x5d, 0xe6, 0xd8, 0xad, 0xfc, 0x22, 0xf0, 0xa9, 0x0c, 0xbf, 0x89, 0x42, 0xba, 6096 0xfe, 0x6c, 0x56, 0x88, 0x7e, 0x0d, 0x9b, 0x33, 0xf1, 0x4c, 0x9d, 0x89, 0x19, 0x93, 0x4b, 0xef, 6097 0x87, 0x97, 0x9a, 0xb1, 0x3d, 0x15, 0xfa, 0xd4, 0x99, 0x98, 0xd8, 0xf0, 0x2e, 0xd0, 0xa1, 0x16, 6098 0x6c, 0xc4, 0xa1, 0x43, 0x38, 0xc5, 0x23, 0x1a, 0x0d, 0x28, 0x7e, 0xe2, 0xfa, 0x4e, 0xf0, 0xe4, 6099 0x95, 0x37, 0x63, 0x73, 0x3d, 0xb1, 0x7a, 0x24, 0x8c, 0x8e, 0xa5, 0x4d, 0xe9, 0x0f, 0x1a, 0xac, 6100 0xcf, 0xed, 0x1a, 0x7d, 0x00, 0xc5, 0x28, 0x88, 0xb9, 0x88, 0x74, 0xea, 0x93, 0xbe, 0x47, 0x5f, 6101 0xfa, 0x41, 0x0a, 0x0a, 0xdb, 0x4c, 0xa0, 0x68, 0x1f, 0xf4, 0x91, 0x38, 0x5d, 0xd5, 0x53, 0x80, 6102 0xcc, 0x95, 0xdc, 0xab, 0x73, 0xc5, 0x2c, 0x8c, 0x5c, 0x5f, 0xb9, 0x49, 0x24, 0x47, 0xa9, 0x04, 6103 0xc6, 0x45, 0xee, 0xa9, 0x6d, 0xc2, 0xad, 0xf1, 0x27, 0x48, 0xdf, 0xa6, 0x42, 0x6a, 0xbb, 0x27, 6104 0x2e, 0x8d, 0xca, 0xc7, 0x90, 0x9f, 0x7a, 0xae, 0x40, 0x00, 0xaf, 0x59, 0xbd, 0x6a, 0xaf, 0x55, 6105 0xd7, 0x17, 0x50, 0x01, 0xc0, 0xea, 0x99, 0xad, 0x7a, 0x0f, 0x37, 0x3a, 0x96, 0xae, 0x89, 0x32, 6106 0xd1, 0xee, 0x3e, 0x6c, 0xd5, 0xab, 0x6d, 0x29, 0xc8, 0xa1, 0xab, 0xb0, 0xd8, 0x6c, 0x58, 0xfa, 6107 0xa2, 0xa8, 0x17, 0x5d, 0xb3, 0xf5, 0xb0, 0xd5, 0x11, 0x2a, 0xab, 0xa7, 0x2f, 0x95, 0x7f, 0x05, 6108 0xcb, 0xe9, 0x3d, 0x5d, 0xd8, 0x99, 0xdd, 0xa3, 0x4e, 0x03, 0x9b, 0xdd, 0x5a, 0xab, 0xa3, 0x2f, 6109 0xa0, 0x75, 0xc8, 0xb7, 0x9b, 0x55, 0xab, 0x87, 0xcd, 0xe6, 0xcf, 0x8f, 0x9a, 0x96, 0xa8, 0x2f, 6110 0x79, 0x58, 0x31, 0x5b, 0x9d, 0x87, 0xf8, 0xa0, 0x6a, 0x1d, 0xe8, 0x39, 0xb1, 0x0c, 0xb3, 0xda, 6111 0x69, 0x74, 0x1f, 0xe9, 0x8b, 0x68, 0x03, 0x8a, 0x93, 0xe4, 0xb8, 0x5d, 0xd3, 0x97, 0x04, 0xe0, 6112 0x51, 0xf5, 0x61, 0xbb, 0xf9, 0x58, 0xbf, 0x52, 0x7e, 0x17, 0x8a, 0x33, 0xf7, 0x27, 0xb4, 0x0c, 6113 0x4b, 0xd5, 0xa3, 0x5e, 0x57, 0x5f, 0x40, 0xab, 0x70, 0xf5, 0xf1, 0x3b, 0xb8, 0xdb, 0x69, 0x7f, 6114 0xaa, 0x6b, 0x72, 0xf0, 0x5e, 0x32, 0xc8, 0x95, 0x7b, 0x60, 0x5c, 0xd4, 0xa8, 0xa2, 0x4d, 0xb8, 6115 0x79, 0x64, 0x35, 0x71, 0xbd, 0xdb, 0xd9, 0x6f, 0x3d, 0x3c, 0x32, 0x9b, 0x0d, 0x7c, 0x68, 0x76, 6116 0x7b, 0xdd, 0x7a, 0xb7, 0xad, 0x2f, 0xa4, 0xca, 0x46, 0xf7, 0xb8, 0x63, 0xf5, 0xcc, 0x66, 0xf5, 6117 0xd1, 0x0b, 0xa5, 0x56, 0x5b, 0x95, 0xef, 0x18, 0x89, 0xa3, 0x3f, 0x5e, 0x5a, 0x5e, 0xd3, 0xf3, 6118 0x1f, 0x2f, 0x2d, 0x17, 0x75, 0xbd, 0x7c, 0x0c, 0xe8, 0x68, 0xfe, 0x3a, 0x52, 0x85, 0x42, 0xf2, 6119 0x52, 0x88, 0xd5, 0xa3, 0xe4, 0xb8, 0xd4, 0x5c, 0x7c, 0x99, 0xcb, 0x27, 0x16, 0x6a, 0x58, 0x26, 6120 0x70, 0xeb, 0xc2, 0x9e, 0x11, 0x35, 0x20, 0xcf, 0xed, 0x10, 0x9f, 0x52, 0x1a, 0x12, 0xcf, 0x3d, 6121 0xa3, 0x2f, 0xe9, 0x21, 0x7a, 0x76, 0xf8, 0x49, 0x0a, 0x33, 0xd7, 0xf8, 0xc4, 0x68, 0xef, 0x1f, 6122 0x39, 0xb8, 0xa9, 0x7c, 0x35, 0x0e, 0x17, 0x2b, 0xe9, 0x21, 0xd0, 0x31, 0x14, 0xac, 0x64, 0xf2, 6123 0x04, 0xc0, 0xd0, 0xcc, 0xa3, 0xc9, 0xd8, 0x42, 0xbd, 0x6b, 0x94, 0xee, 0x5e, 0xa8, 0x67, 0x61, 6124 0xe0, 0x33, 0x5a, 0x5e, 0xd8, 0xd1, 0x7e, 0xa4, 0xa1, 0x08, 0x36, 0x5a, 0xbe, 0x1d, 0x51, 0xd1, 6125 0xf1, 0x11, 0x6f, 0xcc, 0x3e, 0xd3, 0xdb, 0x4d, 0x40, 0xe6, 0x26, 0xba, 0x7f, 0x19, 0xe8, 0xd4, 6126 0x9c, 0x0c, 0xf2, 0xfb, 0x94, 0xdb, 0xc3, 0xff, 0xdf, 0x5e, 0xee, 0x7d, 0xfd, 0xf7, 0x6f, 0x7f, 6127 0x9b, 0xdb, 0x2c, 0xdf, 0x98, 0x7a, 0xf9, 0x7d, 0x5f, 0xa5, 0x3c, 0x7b, 0x5f, 0xbb, 0x5f, 0xdb, 6128 0xf8, 0xe3, 0xf3, 0x2d, 0xed, 0x9b, 0xe7, 0x5b, 0xda, 0x5f, 0x9f, 0x6f, 0x69, 0xff, 0x7e, 0xbe, 6129 0xa5, 0xfd, 0x46, 0xd3, 0xfa, 0xaf, 0xc9, 0xc4, 0x7f, 0xf0, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 6130 0x1a, 0x9e, 0x33, 0x67, 0xe5, 0x16, 0x00, 0x00, 6131} 6132