service_config

package
v1.36.11-2026020320145... Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: unknown License: Apache-2.0 Imports: 9 Imported by: 1

Documentation

Index

Constants

View Source
const LoadBalancingConfig_CdsExperimental_case case_LoadBalancingConfig_Policy = 6
View Source
const LoadBalancingConfig_EdsExperimental_case case_LoadBalancingConfig_Policy = 7
View Source
const LoadBalancingConfig_Grpclb_case case_LoadBalancingConfig_Policy = 3
View Source
const LoadBalancingConfig_LeastRequestExperimental_case case_LoadBalancingConfig_Policy = 17
View Source
const LoadBalancingConfig_LrsExperimental_case case_LoadBalancingConfig_Policy = 8
View Source
const LoadBalancingConfig_OutlierDetection_case case_LoadBalancingConfig_Policy = 15
View Source
const LoadBalancingConfig_OverrideHostExperimental_case case_LoadBalancingConfig_Policy = 18
View Source
const LoadBalancingConfig_PickFirst_case case_LoadBalancingConfig_Policy = 4
View Source
const LoadBalancingConfig_Policy_not_set_case case_LoadBalancingConfig_Policy = 0
View Source
const LoadBalancingConfig_PriorityExperimental_case case_LoadBalancingConfig_Policy = 9
View Source
const LoadBalancingConfig_RandomSubsettingExperimental_case case_LoadBalancingConfig_Policy = 21
View Source
const LoadBalancingConfig_RingHashExperimental_case case_LoadBalancingConfig_Policy = 13
View Source
const LoadBalancingConfig_Rls_case case_LoadBalancingConfig_Policy = 19
View Source
const LoadBalancingConfig_RoundRobin_case case_LoadBalancingConfig_Policy = 1
View Source
const LoadBalancingConfig_WeightedRoundRobin_case case_LoadBalancingConfig_Policy = 20
View Source
const LoadBalancingConfig_WeightedTargetExperimental_case case_LoadBalancingConfig_Policy = 10
View Source
const LoadBalancingConfig_XdsClusterImplExperimental_case case_LoadBalancingConfig_Policy = 12
View Source
const LoadBalancingConfig_XdsClusterManagerExperimental_case case_LoadBalancingConfig_Policy = 14
View Source
const LoadBalancingConfig_XdsClusterResolverExperimental_case case_LoadBalancingConfig_Policy = 11
View Source
const LoadBalancingConfig_XdsExperimental_case case_LoadBalancingConfig_Policy = 5
View Source
const LoadBalancingConfig_XdsWrrLocalityExperimental_case case_LoadBalancingConfig_Policy = 16
View Source
const LoadBalancingConfig_Xds_case case_LoadBalancingConfig_Policy = 2
View Source
const MethodConfig_HedgingPolicy_case case_MethodConfig_RetryOrHedgingPolicy = 7
View Source
const MethodConfig_RetryOrHedgingPolicy_not_set_case case_MethodConfig_RetryOrHedgingPolicy = 0
View Source
const MethodConfig_RetryPolicy_case case_MethodConfig_RetryOrHedgingPolicy = 6

Variables

View Source
var (
	OverrideHostLoadBalancingPolicyConfig_HealthStatus_name = map[int32]string{
		0: "UNKNOWN",
		1: "HEALTHY",
		3: "DRAINING",
	}
	OverrideHostLoadBalancingPolicyConfig_HealthStatus_value = map[string]int32{
		"UNKNOWN":  0,
		"HEALTHY":  1,
		"DRAINING": 3,
	}
)

Enum value maps for OverrideHostLoadBalancingPolicyConfig_HealthStatus.

View Source
var (
	ServiceConfig_LoadBalancingPolicy_name = map[int32]string{
		0: "UNSPECIFIED",
		1: "ROUND_ROBIN",
	}
	ServiceConfig_LoadBalancingPolicy_value = map[string]int32{
		"UNSPECIFIED": 0,
		"ROUND_ROBIN": 1,
	}
)

Enum value maps for ServiceConfig_LoadBalancingPolicy.

View Source
var (
	XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type_name = map[int32]string{
		0: "UNKNOWN",
		1: "EDS",
		2: "LOGICAL_DNS",
	}
	XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type_value = map[string]int32{
		"UNKNOWN":     0,
		"EDS":         1,
		"LOGICAL_DNS": 2,
	}
)

Enum value maps for XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type.

View Source
var File_grpc_service_config_service_config_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type CdsConfig

type CdsConfig struct {
	Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"` // Required.
	// If true, a dynamic subscription will be started for the cluster.
	IsDynamic bool `protobuf:"varint,2,opt,name=is_dynamic,json=isDynamic,proto3" json:"is_dynamic,omitempty"`
	// contains filtered or unexported fields
}

Configuration for the cds LB policy.

func (*CdsConfig) GetCluster

func (x *CdsConfig) GetCluster() string

func (*CdsConfig) GetIsDynamic

func (x *CdsConfig) GetIsDynamic() bool

func (*CdsConfig) ProtoMessage

func (*CdsConfig) ProtoMessage()

func (*CdsConfig) ProtoReflect

func (x *CdsConfig) ProtoReflect() protoreflect.Message

func (*CdsConfig) Reset

func (x *CdsConfig) Reset()

func (*CdsConfig) SetCluster

func (x *CdsConfig) SetCluster(v string)

func (*CdsConfig) SetIsDynamic

func (x *CdsConfig) SetIsDynamic(v bool)

func (*CdsConfig) String

func (x *CdsConfig) String() string

type CdsConfig_builder

type CdsConfig_builder struct {
	Cluster string
	// If true, a dynamic subscription will be started for the cluster.
	IsDynamic bool
	// contains filtered or unexported fields
}

func (CdsConfig_builder) Build

func (b0 CdsConfig_builder) Build() *CdsConfig

type EdsLoadBalancingPolicyConfig

type EdsLoadBalancingPolicyConfig struct {

	// Cluster name.  Required.
	Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
	// EDS service name, as returned in CDS.
	// May be unset if not specified in CDS.
	EdsServiceName string `protobuf:"bytes,2,opt,name=eds_service_name,json=edsServiceName,proto3" json:"eds_service_name,omitempty"`
	// Server to send load reports to.
	// If unset, no load reporting is done.
	// If set to empty string, load reporting will be sent to the same
	// server as we are getting xds data from.
	LrsLoadReportingServerName *wrapperspb.StringValue `` /* 145-byte string literal not displayed */
	// Locality-picking policy.
	// This policy's config is expected to be in the format used
	// by the weighted_target policy.  Note that the config should include
	// an empty value for the "targets" field; that empty value will be
	// replaced by one that is dynamically generated based on the EDS data.
	// Optional; defaults to "weighted_target".
	LocalityPickingPolicy []*LoadBalancingConfig `` /* 126-byte string literal not displayed */
	// Endpoint-picking policy.
	// This will be configured as the policy for each child in the
	// locality-policy's config.
	// Optional; defaults to "round_robin".
	EndpointPickingPolicy []*LoadBalancingConfig `` /* 126-byte string literal not displayed */
	// contains filtered or unexported fields
}

Configuration for eds LB policy. Deprecated.

func (*EdsLoadBalancingPolicyConfig) ClearLrsLoadReportingServerName

func (x *EdsLoadBalancingPolicyConfig) ClearLrsLoadReportingServerName()

func (*EdsLoadBalancingPolicyConfig) GetCluster

func (x *EdsLoadBalancingPolicyConfig) GetCluster() string

func (*EdsLoadBalancingPolicyConfig) GetEdsServiceName

func (x *EdsLoadBalancingPolicyConfig) GetEdsServiceName() string

func (*EdsLoadBalancingPolicyConfig) GetEndpointPickingPolicy

func (x *EdsLoadBalancingPolicyConfig) GetEndpointPickingPolicy() []*LoadBalancingConfig

func (*EdsLoadBalancingPolicyConfig) GetLocalityPickingPolicy

func (x *EdsLoadBalancingPolicyConfig) GetLocalityPickingPolicy() []*LoadBalancingConfig

func (*EdsLoadBalancingPolicyConfig) GetLrsLoadReportingServerName

func (x *EdsLoadBalancingPolicyConfig) GetLrsLoadReportingServerName() *wrapperspb.StringValue

func (*EdsLoadBalancingPolicyConfig) HasLrsLoadReportingServerName

func (x *EdsLoadBalancingPolicyConfig) HasLrsLoadReportingServerName() bool

func (*EdsLoadBalancingPolicyConfig) ProtoMessage

func (*EdsLoadBalancingPolicyConfig) ProtoMessage()

func (*EdsLoadBalancingPolicyConfig) ProtoReflect

func (*EdsLoadBalancingPolicyConfig) Reset

func (x *EdsLoadBalancingPolicyConfig) Reset()

func (*EdsLoadBalancingPolicyConfig) SetCluster

func (x *EdsLoadBalancingPolicyConfig) SetCluster(v string)

func (*EdsLoadBalancingPolicyConfig) SetEdsServiceName

func (x *EdsLoadBalancingPolicyConfig) SetEdsServiceName(v string)

func (*EdsLoadBalancingPolicyConfig) SetEndpointPickingPolicy

func (x *EdsLoadBalancingPolicyConfig) SetEndpointPickingPolicy(v []*LoadBalancingConfig)

func (*EdsLoadBalancingPolicyConfig) SetLocalityPickingPolicy

func (x *EdsLoadBalancingPolicyConfig) SetLocalityPickingPolicy(v []*LoadBalancingConfig)

func (*EdsLoadBalancingPolicyConfig) SetLrsLoadReportingServerName

func (x *EdsLoadBalancingPolicyConfig) SetLrsLoadReportingServerName(v *wrapperspb.StringValue)

func (*EdsLoadBalancingPolicyConfig) String

type EdsLoadBalancingPolicyConfig_builder

type EdsLoadBalancingPolicyConfig_builder struct {

	// Cluster name.  Required.
	Cluster string
	// EDS service name, as returned in CDS.
	// May be unset if not specified in CDS.
	EdsServiceName string
	// Server to send load reports to.
	// If unset, no load reporting is done.
	// If set to empty string, load reporting will be sent to the same
	// server as we are getting xds data from.
	LrsLoadReportingServerName *wrapperspb.StringValue
	// Locality-picking policy.
	// This policy's config is expected to be in the format used
	// by the weighted_target policy.  Note that the config should include
	// an empty value for the "targets" field; that empty value will be
	// replaced by one that is dynamically generated based on the EDS data.
	// Optional; defaults to "weighted_target".
	LocalityPickingPolicy []*LoadBalancingConfig
	// Endpoint-picking policy.
	// This will be configured as the policy for each child in the
	// locality-policy's config.
	// Optional; defaults to "round_robin".
	EndpointPickingPolicy []*LoadBalancingConfig
	// contains filtered or unexported fields
}

func (EdsLoadBalancingPolicyConfig_builder) Build

type GrpcLbConfig

type GrpcLbConfig struct {

	// Optional.  What LB policy to use for routing between the backend
	// addresses.  If unset, defaults to round_robin.
	// Currently, the only supported values are round_robin and pick_first.
	// Note that this will be used both in balancer mode and in fallback mode.
	// Multiple LB policies can be specified; clients will iterate through
	// the list in order and stop at the first policy that they support.
	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,1,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// Optional.  If specified, overrides the name of the service to be sent to
	// the balancer.
	ServiceName string `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
	// Optional. The timeout in seconds for receiving the server list from the LB
	// server. Defaults to 10s.
	InitialFallbackTimeout *durationpb.Duration `` /* 129-byte string literal not displayed */
	// contains filtered or unexported fields
}

Configuration for grpclb LB policy.

func (*GrpcLbConfig) ClearInitialFallbackTimeout

func (x *GrpcLbConfig) ClearInitialFallbackTimeout()

func (*GrpcLbConfig) GetChildPolicy

func (x *GrpcLbConfig) GetChildPolicy() []*LoadBalancingConfig

func (*GrpcLbConfig) GetInitialFallbackTimeout

func (x *GrpcLbConfig) GetInitialFallbackTimeout() *durationpb.Duration

func (*GrpcLbConfig) GetServiceName

func (x *GrpcLbConfig) GetServiceName() string

func (*GrpcLbConfig) HasInitialFallbackTimeout

func (x *GrpcLbConfig) HasInitialFallbackTimeout() bool

func (*GrpcLbConfig) ProtoMessage

func (*GrpcLbConfig) ProtoMessage()

func (*GrpcLbConfig) ProtoReflect

func (x *GrpcLbConfig) ProtoReflect() protoreflect.Message

func (*GrpcLbConfig) Reset

func (x *GrpcLbConfig) Reset()

func (*GrpcLbConfig) SetChildPolicy

func (x *GrpcLbConfig) SetChildPolicy(v []*LoadBalancingConfig)

func (*GrpcLbConfig) SetInitialFallbackTimeout

func (x *GrpcLbConfig) SetInitialFallbackTimeout(v *durationpb.Duration)

func (*GrpcLbConfig) SetServiceName

func (x *GrpcLbConfig) SetServiceName(v string)

func (*GrpcLbConfig) String

func (x *GrpcLbConfig) String() string

type GrpcLbConfig_builder

type GrpcLbConfig_builder struct {

	// Optional.  What LB policy to use for routing between the backend
	// addresses.  If unset, defaults to round_robin.
	// Currently, the only supported values are round_robin and pick_first.
	// Note that this will be used both in balancer mode and in fallback mode.
	// Multiple LB policies can be specified; clients will iterate through
	// the list in order and stop at the first policy that they support.
	ChildPolicy []*LoadBalancingConfig
	// Optional.  If specified, overrides the name of the service to be sent to
	// the balancer.
	ServiceName string
	// Optional. The timeout in seconds for receiving the server list from the LB
	// server. Defaults to 10s.
	InitialFallbackTimeout *durationpb.Duration
	// contains filtered or unexported fields
}

func (GrpcLbConfig_builder) Build

func (b0 GrpcLbConfig_builder) Build() *GrpcLbConfig

type LeastRequestLocalityLoadBalancingPolicyConfig

type LeastRequestLocalityLoadBalancingPolicyConfig struct {
	ChoiceCount uint64 `protobuf:"varint,1,opt,name=choice_count,json=choiceCount,proto3" json:"choice_count,omitempty"`
	// contains filtered or unexported fields
}

Configuration for the least_request LB policy.

func (*LeastRequestLocalityLoadBalancingPolicyConfig) GetChoiceCount

func (*LeastRequestLocalityLoadBalancingPolicyConfig) ProtoMessage

func (*LeastRequestLocalityLoadBalancingPolicyConfig) ProtoReflect

func (*LeastRequestLocalityLoadBalancingPolicyConfig) Reset

func (*LeastRequestLocalityLoadBalancingPolicyConfig) SetChoiceCount

func (*LeastRequestLocalityLoadBalancingPolicyConfig) String

type LeastRequestLocalityLoadBalancingPolicyConfig_builder

type LeastRequestLocalityLoadBalancingPolicyConfig_builder struct {
	ChoiceCount uint64
	// contains filtered or unexported fields
}

func (LeastRequestLocalityLoadBalancingPolicyConfig_builder) Build

type LoadBalancingConfig

type LoadBalancingConfig struct {

	// Exactly one LB policy may be configured.
	//
	// Types that are valid to be assigned to Policy:
	//
	//	*LoadBalancingConfig_PickFirst
	//	*LoadBalancingConfig_RoundRobin
	//	*LoadBalancingConfig_WeightedRoundRobin
	//	*LoadBalancingConfig_Grpclb
	//	*LoadBalancingConfig_PriorityExperimental
	//	*LoadBalancingConfig_WeightedTargetExperimental
	//	*LoadBalancingConfig_OutlierDetection
	//	*LoadBalancingConfig_Rls
	//	*LoadBalancingConfig_XdsClusterManagerExperimental
	//	*LoadBalancingConfig_CdsExperimental
	//	*LoadBalancingConfig_XdsClusterImplExperimental
	//	*LoadBalancingConfig_OverrideHostExperimental
	//	*LoadBalancingConfig_XdsWrrLocalityExperimental
	//	*LoadBalancingConfig_RingHashExperimental
	//	*LoadBalancingConfig_LeastRequestExperimental
	//	*LoadBalancingConfig_RandomSubsettingExperimental
	//	*LoadBalancingConfig_XdsClusterResolverExperimental
	//	*LoadBalancingConfig_LrsExperimental
	//	*LoadBalancingConfig_EdsExperimental
	//	*LoadBalancingConfig_Xds
	//	*LoadBalancingConfig_XdsExperimental
	Policy isLoadBalancingConfig_Policy `protobuf_oneof:"policy"`
	// contains filtered or unexported fields
}

Selects LB policy and provides corresponding configuration.

In general, all instances of this field should be repeated. Clients will iterate through the list in order and stop at the first policy that they support. This allows the service config to specify custom policies that may not be known to all clients.

  • If the config for the first supported policy is invalid, the whole service config is invalid.
  • If the list doesn't contain any supported policy, the whole service config is invalid.

func (*LoadBalancingConfig) ClearCdsExperimental

func (x *LoadBalancingConfig) ClearCdsExperimental()

func (*LoadBalancingConfig) ClearEdsExperimental deprecated

func (x *LoadBalancingConfig) ClearEdsExperimental()

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) ClearGrpclb

func (x *LoadBalancingConfig) ClearGrpclb()

func (*LoadBalancingConfig) ClearLeastRequestExperimental

func (x *LoadBalancingConfig) ClearLeastRequestExperimental()

func (*LoadBalancingConfig) ClearLrsExperimental deprecated

func (x *LoadBalancingConfig) ClearLrsExperimental()

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) ClearOutlierDetection

func (x *LoadBalancingConfig) ClearOutlierDetection()

func (*LoadBalancingConfig) ClearOverrideHostExperimental

func (x *LoadBalancingConfig) ClearOverrideHostExperimental()

func (*LoadBalancingConfig) ClearPickFirst

func (x *LoadBalancingConfig) ClearPickFirst()

func (*LoadBalancingConfig) ClearPolicy

func (x *LoadBalancingConfig) ClearPolicy()

func (*LoadBalancingConfig) ClearPriorityExperimental

func (x *LoadBalancingConfig) ClearPriorityExperimental()

func (*LoadBalancingConfig) ClearRandomSubsettingExperimental

func (x *LoadBalancingConfig) ClearRandomSubsettingExperimental()

func (*LoadBalancingConfig) ClearRingHashExperimental

func (x *LoadBalancingConfig) ClearRingHashExperimental()

func (*LoadBalancingConfig) ClearRls

func (x *LoadBalancingConfig) ClearRls()

func (*LoadBalancingConfig) ClearRoundRobin

func (x *LoadBalancingConfig) ClearRoundRobin()

func (*LoadBalancingConfig) ClearWeightedRoundRobin

func (x *LoadBalancingConfig) ClearWeightedRoundRobin()

func (*LoadBalancingConfig) ClearWeightedTargetExperimental

func (x *LoadBalancingConfig) ClearWeightedTargetExperimental()

func (*LoadBalancingConfig) ClearXds deprecated

func (x *LoadBalancingConfig) ClearXds()

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) ClearXdsClusterImplExperimental

func (x *LoadBalancingConfig) ClearXdsClusterImplExperimental()

func (*LoadBalancingConfig) ClearXdsClusterManagerExperimental

func (x *LoadBalancingConfig) ClearXdsClusterManagerExperimental()

func (*LoadBalancingConfig) ClearXdsClusterResolverExperimental deprecated

func (x *LoadBalancingConfig) ClearXdsClusterResolverExperimental()

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) ClearXdsExperimental deprecated

func (x *LoadBalancingConfig) ClearXdsExperimental()

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) ClearXdsWrrLocalityExperimental

func (x *LoadBalancingConfig) ClearXdsWrrLocalityExperimental()

func (*LoadBalancingConfig) GetCdsExperimental

func (x *LoadBalancingConfig) GetCdsExperimental() *CdsConfig

func (*LoadBalancingConfig) GetEdsExperimental deprecated

func (x *LoadBalancingConfig) GetEdsExperimental() *EdsLoadBalancingPolicyConfig

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) GetGrpclb

func (x *LoadBalancingConfig) GetGrpclb() *GrpcLbConfig

func (*LoadBalancingConfig) GetLeastRequestExperimental

func (x *LoadBalancingConfig) GetLeastRequestExperimental() *LeastRequestLocalityLoadBalancingPolicyConfig

func (*LoadBalancingConfig) GetLrsExperimental deprecated

func (x *LoadBalancingConfig) GetLrsExperimental() *LrsLoadBalancingPolicyConfig

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) GetOutlierDetection

func (x *LoadBalancingConfig) GetOutlierDetection() *OutlierDetectionLoadBalancingConfig

func (*LoadBalancingConfig) GetOverrideHostExperimental

func (x *LoadBalancingConfig) GetOverrideHostExperimental() *OverrideHostLoadBalancingPolicyConfig

func (*LoadBalancingConfig) GetPickFirst

func (x *LoadBalancingConfig) GetPickFirst() *PickFirstConfig

func (*LoadBalancingConfig) GetPolicy

func (x *LoadBalancingConfig) GetPolicy() isLoadBalancingConfig_Policy

func (*LoadBalancingConfig) GetPriorityExperimental

func (x *LoadBalancingConfig) GetPriorityExperimental() *PriorityLoadBalancingPolicyConfig

func (*LoadBalancingConfig) GetRandomSubsettingExperimental

func (x *LoadBalancingConfig) GetRandomSubsettingExperimental() *RandomSubsettingLoadBalancingConfig

func (*LoadBalancingConfig) GetRingHashExperimental

func (x *LoadBalancingConfig) GetRingHashExperimental() *RingHashLoadBalancingConfig

func (*LoadBalancingConfig) GetRls

func (*LoadBalancingConfig) GetRoundRobin

func (x *LoadBalancingConfig) GetRoundRobin() *RoundRobinConfig

func (*LoadBalancingConfig) GetWeightedRoundRobin

func (x *LoadBalancingConfig) GetWeightedRoundRobin() *WeightedRoundRobinLbConfig

func (*LoadBalancingConfig) GetWeightedTargetExperimental

func (x *LoadBalancingConfig) GetWeightedTargetExperimental() *WeightedTargetLoadBalancingPolicyConfig

func (*LoadBalancingConfig) GetXds deprecated

func (x *LoadBalancingConfig) GetXds() *XdsConfig

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) GetXdsClusterImplExperimental

func (x *LoadBalancingConfig) GetXdsClusterImplExperimental() *XdsClusterImplLoadBalancingPolicyConfig

func (*LoadBalancingConfig) GetXdsClusterManagerExperimental

func (x *LoadBalancingConfig) GetXdsClusterManagerExperimental() *XdsClusterManagerLoadBalancingPolicyConfig

func (*LoadBalancingConfig) GetXdsClusterResolverExperimental deprecated

func (x *LoadBalancingConfig) GetXdsClusterResolverExperimental() *XdsClusterResolverLoadBalancingPolicyConfig

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) GetXdsExperimental deprecated

func (x *LoadBalancingConfig) GetXdsExperimental() *XdsConfig

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) GetXdsWrrLocalityExperimental

func (x *LoadBalancingConfig) GetXdsWrrLocalityExperimental() *XdsWrrLocalityLoadBalancingPolicyConfig

func (*LoadBalancingConfig) HasCdsExperimental

func (x *LoadBalancingConfig) HasCdsExperimental() bool

func (*LoadBalancingConfig) HasEdsExperimental deprecated

func (x *LoadBalancingConfig) HasEdsExperimental() bool

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) HasGrpclb

func (x *LoadBalancingConfig) HasGrpclb() bool

func (*LoadBalancingConfig) HasLeastRequestExperimental

func (x *LoadBalancingConfig) HasLeastRequestExperimental() bool

func (*LoadBalancingConfig) HasLrsExperimental deprecated

func (x *LoadBalancingConfig) HasLrsExperimental() bool

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) HasOutlierDetection

func (x *LoadBalancingConfig) HasOutlierDetection() bool

func (*LoadBalancingConfig) HasOverrideHostExperimental

func (x *LoadBalancingConfig) HasOverrideHostExperimental() bool

func (*LoadBalancingConfig) HasPickFirst

func (x *LoadBalancingConfig) HasPickFirst() bool

func (*LoadBalancingConfig) HasPolicy

func (x *LoadBalancingConfig) HasPolicy() bool

func (*LoadBalancingConfig) HasPriorityExperimental

func (x *LoadBalancingConfig) HasPriorityExperimental() bool

func (*LoadBalancingConfig) HasRandomSubsettingExperimental

func (x *LoadBalancingConfig) HasRandomSubsettingExperimental() bool

func (*LoadBalancingConfig) HasRingHashExperimental

func (x *LoadBalancingConfig) HasRingHashExperimental() bool

func (*LoadBalancingConfig) HasRls

func (x *LoadBalancingConfig) HasRls() bool

func (*LoadBalancingConfig) HasRoundRobin

func (x *LoadBalancingConfig) HasRoundRobin() bool

func (*LoadBalancingConfig) HasWeightedRoundRobin

func (x *LoadBalancingConfig) HasWeightedRoundRobin() bool

func (*LoadBalancingConfig) HasWeightedTargetExperimental

func (x *LoadBalancingConfig) HasWeightedTargetExperimental() bool

func (*LoadBalancingConfig) HasXds deprecated

func (x *LoadBalancingConfig) HasXds() bool

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) HasXdsClusterImplExperimental

func (x *LoadBalancingConfig) HasXdsClusterImplExperimental() bool

func (*LoadBalancingConfig) HasXdsClusterManagerExperimental

func (x *LoadBalancingConfig) HasXdsClusterManagerExperimental() bool

func (*LoadBalancingConfig) HasXdsClusterResolverExperimental deprecated

func (x *LoadBalancingConfig) HasXdsClusterResolverExperimental() bool

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) HasXdsExperimental deprecated

func (x *LoadBalancingConfig) HasXdsExperimental() bool

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) HasXdsWrrLocalityExperimental

func (x *LoadBalancingConfig) HasXdsWrrLocalityExperimental() bool

func (*LoadBalancingConfig) ProtoMessage

func (*LoadBalancingConfig) ProtoMessage()

func (*LoadBalancingConfig) ProtoReflect

func (x *LoadBalancingConfig) ProtoReflect() protoreflect.Message

func (*LoadBalancingConfig) Reset

func (x *LoadBalancingConfig) Reset()

func (*LoadBalancingConfig) SetCdsExperimental

func (x *LoadBalancingConfig) SetCdsExperimental(v *CdsConfig)

func (*LoadBalancingConfig) SetEdsExperimental deprecated

func (x *LoadBalancingConfig) SetEdsExperimental(v *EdsLoadBalancingPolicyConfig)

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) SetGrpclb

func (x *LoadBalancingConfig) SetGrpclb(v *GrpcLbConfig)

func (*LoadBalancingConfig) SetLeastRequestExperimental

func (x *LoadBalancingConfig) SetLeastRequestExperimental(v *LeastRequestLocalityLoadBalancingPolicyConfig)

func (*LoadBalancingConfig) SetLrsExperimental deprecated

func (x *LoadBalancingConfig) SetLrsExperimental(v *LrsLoadBalancingPolicyConfig)

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) SetOutlierDetection

func (x *LoadBalancingConfig) SetOutlierDetection(v *OutlierDetectionLoadBalancingConfig)

func (*LoadBalancingConfig) SetOverrideHostExperimental

func (x *LoadBalancingConfig) SetOverrideHostExperimental(v *OverrideHostLoadBalancingPolicyConfig)

func (*LoadBalancingConfig) SetPickFirst

func (x *LoadBalancingConfig) SetPickFirst(v *PickFirstConfig)

func (*LoadBalancingConfig) SetPriorityExperimental

func (x *LoadBalancingConfig) SetPriorityExperimental(v *PriorityLoadBalancingPolicyConfig)

func (*LoadBalancingConfig) SetRandomSubsettingExperimental

func (x *LoadBalancingConfig) SetRandomSubsettingExperimental(v *RandomSubsettingLoadBalancingConfig)

func (*LoadBalancingConfig) SetRingHashExperimental

func (x *LoadBalancingConfig) SetRingHashExperimental(v *RingHashLoadBalancingConfig)

func (*LoadBalancingConfig) SetRls

func (*LoadBalancingConfig) SetRoundRobin

func (x *LoadBalancingConfig) SetRoundRobin(v *RoundRobinConfig)

func (*LoadBalancingConfig) SetWeightedRoundRobin

func (x *LoadBalancingConfig) SetWeightedRoundRobin(v *WeightedRoundRobinLbConfig)

func (*LoadBalancingConfig) SetWeightedTargetExperimental

func (x *LoadBalancingConfig) SetWeightedTargetExperimental(v *WeightedTargetLoadBalancingPolicyConfig)

func (*LoadBalancingConfig) SetXds deprecated

func (x *LoadBalancingConfig) SetXds(v *XdsConfig)

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) SetXdsClusterImplExperimental

func (x *LoadBalancingConfig) SetXdsClusterImplExperimental(v *XdsClusterImplLoadBalancingPolicyConfig)

func (*LoadBalancingConfig) SetXdsClusterManagerExperimental

func (x *LoadBalancingConfig) SetXdsClusterManagerExperimental(v *XdsClusterManagerLoadBalancingPolicyConfig)

func (*LoadBalancingConfig) SetXdsClusterResolverExperimental deprecated

func (x *LoadBalancingConfig) SetXdsClusterResolverExperimental(v *XdsClusterResolverLoadBalancingPolicyConfig)

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) SetXdsExperimental deprecated

func (x *LoadBalancingConfig) SetXdsExperimental(v *XdsConfig)

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) SetXdsWrrLocalityExperimental

func (x *LoadBalancingConfig) SetXdsWrrLocalityExperimental(v *XdsWrrLocalityLoadBalancingPolicyConfig)

func (*LoadBalancingConfig) String

func (x *LoadBalancingConfig) String() string

func (*LoadBalancingConfig) WhichPolicy

func (x *LoadBalancingConfig) WhichPolicy() case_LoadBalancingConfig_Policy

type LoadBalancingConfig_CdsExperimental

type LoadBalancingConfig_CdsExperimental struct {
	CdsExperimental *CdsConfig `protobuf:"bytes,6,opt,name=cds_experimental,proto3,oneof"`
}

type LoadBalancingConfig_EdsExperimental

type LoadBalancingConfig_EdsExperimental struct {
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	EdsExperimental *EdsLoadBalancingPolicyConfig `protobuf:"bytes,7,opt,name=eds_experimental,proto3,oneof"`
}

type LoadBalancingConfig_Grpclb

type LoadBalancingConfig_Grpclb struct {
	// gRPC lookaside load balancing.
	// This will eventually be deprecated by the new xDS-based local
	// balancing policy.
	Grpclb *GrpcLbConfig `protobuf:"bytes,3,opt,name=grpclb,proto3,oneof"`
}

type LoadBalancingConfig_LeastRequestExperimental

type LoadBalancingConfig_LeastRequestExperimental struct {
	LeastRequestExperimental *LeastRequestLocalityLoadBalancingPolicyConfig `protobuf:"bytes,17,opt,name=least_request_experimental,proto3,oneof"`
}

type LoadBalancingConfig_LrsExperimental

type LoadBalancingConfig_LrsExperimental struct {
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	LrsExperimental *LrsLoadBalancingPolicyConfig `protobuf:"bytes,8,opt,name=lrs_experimental,proto3,oneof"`
}

type LoadBalancingConfig_OutlierDetection

type LoadBalancingConfig_OutlierDetection struct {
	OutlierDetection *OutlierDetectionLoadBalancingConfig `protobuf:"bytes,15,opt,name=outlier_detection,json=outlier_detection_experimental,proto3,oneof"`
}

type LoadBalancingConfig_OverrideHostExperimental

type LoadBalancingConfig_OverrideHostExperimental struct {
	OverrideHostExperimental *OverrideHostLoadBalancingPolicyConfig `protobuf:"bytes,18,opt,name=override_host_experimental,proto3,oneof"`
}

type LoadBalancingConfig_PickFirst

type LoadBalancingConfig_PickFirst struct {
	PickFirst *PickFirstConfig `protobuf:"bytes,4,opt,name=pick_first,proto3,oneof"`
}

type LoadBalancingConfig_PriorityExperimental

type LoadBalancingConfig_PriorityExperimental struct {
	PriorityExperimental *PriorityLoadBalancingPolicyConfig `protobuf:"bytes,9,opt,name=priority_experimental,proto3,oneof"`
}

type LoadBalancingConfig_RandomSubsettingExperimental

type LoadBalancingConfig_RandomSubsettingExperimental struct {
	RandomSubsettingExperimental *RandomSubsettingLoadBalancingConfig `protobuf:"bytes,21,opt,name=random_subsetting_experimental,proto3,oneof"`
}

type LoadBalancingConfig_RingHashExperimental

type LoadBalancingConfig_RingHashExperimental struct {
	RingHashExperimental *RingHashLoadBalancingConfig `protobuf:"bytes,13,opt,name=ring_hash_experimental,proto3,oneof"`
}

type LoadBalancingConfig_Rls

type LoadBalancingConfig_Rls struct {
	Rls *RlsLoadBalancingPolicyConfig `protobuf:"bytes,19,opt,name=rls,json=rls_experimental,proto3,oneof"`
}

type LoadBalancingConfig_RoundRobin

type LoadBalancingConfig_RoundRobin struct {
	RoundRobin *RoundRobinConfig `protobuf:"bytes,1,opt,name=round_robin,proto3,oneof"`
}

type LoadBalancingConfig_WeightedRoundRobin

type LoadBalancingConfig_WeightedRoundRobin struct {
	WeightedRoundRobin *WeightedRoundRobinLbConfig `protobuf:"bytes,20,opt,name=weighted_round_robin,proto3,oneof"`
}

type LoadBalancingConfig_WeightedTargetExperimental

type LoadBalancingConfig_WeightedTargetExperimental struct {
	WeightedTargetExperimental *WeightedTargetLoadBalancingPolicyConfig `protobuf:"bytes,10,opt,name=weighted_target_experimental,proto3,oneof"`
}

type LoadBalancingConfig_Xds

type LoadBalancingConfig_Xds struct {
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	Xds *XdsConfig `protobuf:"bytes,2,opt,name=xds,proto3,oneof"`
}

type LoadBalancingConfig_XdsClusterImplExperimental

type LoadBalancingConfig_XdsClusterImplExperimental struct {
	XdsClusterImplExperimental *XdsClusterImplLoadBalancingPolicyConfig `protobuf:"bytes,12,opt,name=xds_cluster_impl_experimental,proto3,oneof"`
}

type LoadBalancingConfig_XdsClusterManagerExperimental

type LoadBalancingConfig_XdsClusterManagerExperimental struct {
	// xDS-based load balancing.
	XdsClusterManagerExperimental *XdsClusterManagerLoadBalancingPolicyConfig `protobuf:"bytes,14,opt,name=xds_cluster_manager_experimental,proto3,oneof"`
}

type LoadBalancingConfig_XdsClusterResolverExperimental

type LoadBalancingConfig_XdsClusterResolverExperimental struct {
	// Deprecated xDS-related policies.
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	XdsClusterResolverExperimental *XdsClusterResolverLoadBalancingPolicyConfig `protobuf:"bytes,11,opt,name=xds_cluster_resolver_experimental,proto3,oneof"`
}

type LoadBalancingConfig_XdsExperimental

type LoadBalancingConfig_XdsExperimental struct {
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	XdsExperimental *XdsConfig `protobuf:"bytes,5,opt,name=xds_experimental,proto3,oneof"`
}

type LoadBalancingConfig_XdsWrrLocalityExperimental

type LoadBalancingConfig_XdsWrrLocalityExperimental struct {
	XdsWrrLocalityExperimental *XdsWrrLocalityLoadBalancingPolicyConfig `protobuf:"bytes,16,opt,name=xds_wrr_locality_experimental,proto3,oneof"`
}

type LoadBalancingConfig_builder

type LoadBalancingConfig_builder struct {

	// Fields of oneof Policy:
	PickFirst          *PickFirstConfig
	RoundRobin         *RoundRobinConfig
	WeightedRoundRobin *WeightedRoundRobinLbConfig
	// gRPC lookaside load balancing.
	// This will eventually be deprecated by the new xDS-based local
	// balancing policy.
	Grpclb                     *GrpcLbConfig
	PriorityExperimental       *PriorityLoadBalancingPolicyConfig
	WeightedTargetExperimental *WeightedTargetLoadBalancingPolicyConfig
	OutlierDetection           *OutlierDetectionLoadBalancingConfig
	Rls                        *RlsLoadBalancingPolicyConfig
	// xDS-based load balancing.
	XdsClusterManagerExperimental *XdsClusterManagerLoadBalancingPolicyConfig
	CdsExperimental               *CdsConfig
	XdsClusterImplExperimental    *XdsClusterImplLoadBalancingPolicyConfig
	OverrideHostExperimental      *OverrideHostLoadBalancingPolicyConfig
	XdsWrrLocalityExperimental    *XdsWrrLocalityLoadBalancingPolicyConfig
	RingHashExperimental          *RingHashLoadBalancingConfig
	LeastRequestExperimental      *LeastRequestLocalityLoadBalancingPolicyConfig
	RandomSubsettingExperimental  *RandomSubsettingLoadBalancingConfig
	// Deprecated xDS-related policies.
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	XdsClusterResolverExperimental *XdsClusterResolverLoadBalancingPolicyConfig
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	LrsExperimental *LrsLoadBalancingPolicyConfig
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	EdsExperimental *EdsLoadBalancingPolicyConfig
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	Xds *XdsConfig
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	XdsExperimental *XdsConfig
	// contains filtered or unexported fields
}

func (LoadBalancingConfig_builder) Build

type LrsLoadBalancingPolicyConfig

type LrsLoadBalancingPolicyConfig struct {

	// Cluster name.  Required.
	ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
	// EDS service name, as returned in CDS.
	// May be unset if not specified in CDS.
	EdsServiceName string `protobuf:"bytes,2,opt,name=eds_service_name,json=edsServiceName,proto3" json:"eds_service_name,omitempty"`
	// Server to send load reports to.  Required.
	// If set to empty string, load reporting will be sent to the same
	// server as we are getting xds data from.
	LrsLoadReportingServerName string                                 `` /* 145-byte string literal not displayed */
	Locality                   *LrsLoadBalancingPolicyConfig_Locality `protobuf:"bytes,4,opt,name=locality,proto3" json:"locality,omitempty"`
	// Endpoint-picking policy.
	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,5,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// contains filtered or unexported fields
}

Configuration for lrs LB policy. Deprecated.

func (*LrsLoadBalancingPolicyConfig) ClearLocality

func (x *LrsLoadBalancingPolicyConfig) ClearLocality()

func (*LrsLoadBalancingPolicyConfig) GetChildPolicy

func (x *LrsLoadBalancingPolicyConfig) GetChildPolicy() []*LoadBalancingConfig

func (*LrsLoadBalancingPolicyConfig) GetClusterName

func (x *LrsLoadBalancingPolicyConfig) GetClusterName() string

func (*LrsLoadBalancingPolicyConfig) GetEdsServiceName

func (x *LrsLoadBalancingPolicyConfig) GetEdsServiceName() string

func (*LrsLoadBalancingPolicyConfig) GetLocality

func (*LrsLoadBalancingPolicyConfig) GetLrsLoadReportingServerName

func (x *LrsLoadBalancingPolicyConfig) GetLrsLoadReportingServerName() string

func (*LrsLoadBalancingPolicyConfig) HasLocality

func (x *LrsLoadBalancingPolicyConfig) HasLocality() bool

func (*LrsLoadBalancingPolicyConfig) ProtoMessage

func (*LrsLoadBalancingPolicyConfig) ProtoMessage()

func (*LrsLoadBalancingPolicyConfig) ProtoReflect

func (*LrsLoadBalancingPolicyConfig) Reset

func (x *LrsLoadBalancingPolicyConfig) Reset()

func (*LrsLoadBalancingPolicyConfig) SetChildPolicy

func (x *LrsLoadBalancingPolicyConfig) SetChildPolicy(v []*LoadBalancingConfig)

func (*LrsLoadBalancingPolicyConfig) SetClusterName

func (x *LrsLoadBalancingPolicyConfig) SetClusterName(v string)

func (*LrsLoadBalancingPolicyConfig) SetEdsServiceName

func (x *LrsLoadBalancingPolicyConfig) SetEdsServiceName(v string)

func (*LrsLoadBalancingPolicyConfig) SetLocality

func (*LrsLoadBalancingPolicyConfig) SetLrsLoadReportingServerName

func (x *LrsLoadBalancingPolicyConfig) SetLrsLoadReportingServerName(v string)

func (*LrsLoadBalancingPolicyConfig) String

type LrsLoadBalancingPolicyConfig_Locality

type LrsLoadBalancingPolicyConfig_Locality struct {
	Region  string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"`
	Zone    string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
	Subzone string `protobuf:"bytes,3,opt,name=subzone,proto3" json:"subzone,omitempty"`
	// contains filtered or unexported fields
}

The locality for which this policy will report load. Required.

func (*LrsLoadBalancingPolicyConfig_Locality) GetRegion

func (*LrsLoadBalancingPolicyConfig_Locality) GetSubzone

func (*LrsLoadBalancingPolicyConfig_Locality) GetZone

func (*LrsLoadBalancingPolicyConfig_Locality) ProtoMessage

func (*LrsLoadBalancingPolicyConfig_Locality) ProtoMessage()

func (*LrsLoadBalancingPolicyConfig_Locality) ProtoReflect

func (*LrsLoadBalancingPolicyConfig_Locality) Reset

func (*LrsLoadBalancingPolicyConfig_Locality) SetRegion

func (*LrsLoadBalancingPolicyConfig_Locality) SetSubzone

func (*LrsLoadBalancingPolicyConfig_Locality) SetZone

func (*LrsLoadBalancingPolicyConfig_Locality) String

type LrsLoadBalancingPolicyConfig_Locality_builder

type LrsLoadBalancingPolicyConfig_Locality_builder struct {
	Region  string
	Zone    string
	Subzone string
	// contains filtered or unexported fields
}

func (LrsLoadBalancingPolicyConfig_Locality_builder) Build

type LrsLoadBalancingPolicyConfig_builder

type LrsLoadBalancingPolicyConfig_builder struct {

	// Cluster name.  Required.
	ClusterName string
	// EDS service name, as returned in CDS.
	// May be unset if not specified in CDS.
	EdsServiceName string
	// Server to send load reports to.  Required.
	// If set to empty string, load reporting will be sent to the same
	// server as we are getting xds data from.
	LrsLoadReportingServerName string
	Locality                   *LrsLoadBalancingPolicyConfig_Locality
	// Endpoint-picking policy.
	ChildPolicy []*LoadBalancingConfig
	// contains filtered or unexported fields
}

func (LrsLoadBalancingPolicyConfig_builder) Build

type MethodConfig

type MethodConfig struct {
	Name []*MethodConfig_Name `protobuf:"bytes,1,rep,name=name,proto3" json:"name,omitempty"`
	// Whether RPCs sent to this method should wait until the connection is
	// ready by default. If false, the RPC will abort immediately if there is
	// a transient failure connecting to the server. Otherwise, gRPC will
	// attempt to connect until the deadline is exceeded.
	//
	// The value specified via the gRPC client API will override the value
	// set here. However, note that setting the value in the client API will
	// also affect transient errors encountered during name resolution, which
	// cannot be caught by the value here, since the service config is
	// obtained by the gRPC client via name resolution.
	WaitForReady *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=wait_for_ready,json=waitForReady,proto3" json:"wait_for_ready,omitempty"`
	// The default timeout in seconds for RPCs sent to this method. This can be
	// overridden in code. If no reply is received in the specified amount of
	// time, the request is aborted and a DEADLINE_EXCEEDED error status
	// is returned to the caller.
	//
	// The actual deadline used will be the minimum of the value specified here
	// and the value set by the application via the gRPC client API.  If either
	// one is not set, then the other will be used.  If neither is set, then the
	// request has no deadline.
	Timeout *durationpb.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"`
	// The maximum allowed payload size for an individual request or object in a
	// stream (client->server) in bytes. The size which is measured is the
	// serialized payload after per-message compression (but before stream
	// compression) in bytes. This applies both to streaming and non-streaming
	// requests.
	//
	// The actual value used is the minimum of the value specified here and the
	// value set by the application via the gRPC client API.  If either one is
	// not set, then the other will be used.  If neither is set, then the
	// built-in default is used.
	//
	// If a client attempts to send an object larger than this value, it will not
	// be sent and the client will see a ClientError.
	// Note that 0 is a valid value, meaning that the request message
	// must be empty.
	MaxRequestMessageBytes *wrapperspb.UInt32Value `` /* 131-byte string literal not displayed */
	// The maximum allowed payload size for an individual response or object in a
	// stream (server->client) in bytes. The size which is measured is the
	// serialized payload after per-message compression (but before stream
	// compression) in bytes. This applies both to streaming and non-streaming
	// requests.
	//
	// The actual value used is the minimum of the value specified here and the
	// value set by the application via the gRPC client API.  If either one is
	// not set, then the other will be used.  If neither is set, then the
	// built-in default is used.
	//
	// If a server attempts to send an object larger than this value, it will not
	// be sent, and a ServerError will be sent to the client instead.
	// Note that 0 is a valid value, meaning that the response message
	// must be empty.
	MaxResponseMessageBytes *wrapperspb.UInt32Value `` /* 134-byte string literal not displayed */
	// Only one of retry_policy or hedging_policy may be set. If neither is set,
	// RPCs will not be retried or hedged.
	//
	// Types that are valid to be assigned to RetryOrHedgingPolicy:
	//
	//	*MethodConfig_RetryPolicy_
	//	*MethodConfig_HedgingPolicy_
	RetryOrHedgingPolicy isMethodConfig_RetryOrHedgingPolicy `protobuf_oneof:"retry_or_hedging_policy"`
	// contains filtered or unexported fields
}

Configuration for a method.

func (*MethodConfig) ClearHedgingPolicy

func (x *MethodConfig) ClearHedgingPolicy()

func (*MethodConfig) ClearMaxRequestMessageBytes

func (x *MethodConfig) ClearMaxRequestMessageBytes()

func (*MethodConfig) ClearMaxResponseMessageBytes

func (x *MethodConfig) ClearMaxResponseMessageBytes()

func (*MethodConfig) ClearRetryOrHedgingPolicy

func (x *MethodConfig) ClearRetryOrHedgingPolicy()

func (*MethodConfig) ClearRetryPolicy

func (x *MethodConfig) ClearRetryPolicy()

func (*MethodConfig) ClearTimeout

func (x *MethodConfig) ClearTimeout()

func (*MethodConfig) ClearWaitForReady

func (x *MethodConfig) ClearWaitForReady()

func (*MethodConfig) GetHedgingPolicy

func (x *MethodConfig) GetHedgingPolicy() *MethodConfig_HedgingPolicy

func (*MethodConfig) GetMaxRequestMessageBytes

func (x *MethodConfig) GetMaxRequestMessageBytes() *wrapperspb.UInt32Value

func (*MethodConfig) GetMaxResponseMessageBytes

func (x *MethodConfig) GetMaxResponseMessageBytes() *wrapperspb.UInt32Value

func (*MethodConfig) GetName

func (x *MethodConfig) GetName() []*MethodConfig_Name

func (*MethodConfig) GetRetryOrHedgingPolicy

func (x *MethodConfig) GetRetryOrHedgingPolicy() isMethodConfig_RetryOrHedgingPolicy

func (*MethodConfig) GetRetryPolicy

func (x *MethodConfig) GetRetryPolicy() *MethodConfig_RetryPolicy

func (*MethodConfig) GetTimeout

func (x *MethodConfig) GetTimeout() *durationpb.Duration

func (*MethodConfig) GetWaitForReady

func (x *MethodConfig) GetWaitForReady() *wrapperspb.BoolValue

func (*MethodConfig) HasHedgingPolicy

func (x *MethodConfig) HasHedgingPolicy() bool

func (*MethodConfig) HasMaxRequestMessageBytes

func (x *MethodConfig) HasMaxRequestMessageBytes() bool

func (*MethodConfig) HasMaxResponseMessageBytes

func (x *MethodConfig) HasMaxResponseMessageBytes() bool

func (*MethodConfig) HasRetryOrHedgingPolicy

func (x *MethodConfig) HasRetryOrHedgingPolicy() bool

func (*MethodConfig) HasRetryPolicy

func (x *MethodConfig) HasRetryPolicy() bool

func (*MethodConfig) HasTimeout

func (x *MethodConfig) HasTimeout() bool

func (*MethodConfig) HasWaitForReady

func (x *MethodConfig) HasWaitForReady() bool

func (*MethodConfig) ProtoMessage

func (*MethodConfig) ProtoMessage()

func (*MethodConfig) ProtoReflect

func (x *MethodConfig) ProtoReflect() protoreflect.Message

func (*MethodConfig) Reset

func (x *MethodConfig) Reset()

func (*MethodConfig) SetHedgingPolicy

func (x *MethodConfig) SetHedgingPolicy(v *MethodConfig_HedgingPolicy)

func (*MethodConfig) SetMaxRequestMessageBytes

func (x *MethodConfig) SetMaxRequestMessageBytes(v *wrapperspb.UInt32Value)

func (*MethodConfig) SetMaxResponseMessageBytes

func (x *MethodConfig) SetMaxResponseMessageBytes(v *wrapperspb.UInt32Value)

func (*MethodConfig) SetName

func (x *MethodConfig) SetName(v []*MethodConfig_Name)

func (*MethodConfig) SetRetryPolicy

func (x *MethodConfig) SetRetryPolicy(v *MethodConfig_RetryPolicy)

func (*MethodConfig) SetTimeout

func (x *MethodConfig) SetTimeout(v *durationpb.Duration)

func (*MethodConfig) SetWaitForReady

func (x *MethodConfig) SetWaitForReady(v *wrapperspb.BoolValue)

func (*MethodConfig) String

func (x *MethodConfig) String() string

func (*MethodConfig) WhichRetryOrHedgingPolicy

func (x *MethodConfig) WhichRetryOrHedgingPolicy() case_MethodConfig_RetryOrHedgingPolicy

type MethodConfig_HedgingPolicy

type MethodConfig_HedgingPolicy struct {

	// The hedging policy will send up to max_requests RPCs.
	// This number represents the total number of all attempts, including
	// the original attempt.
	//
	// This field is required and must be greater than 1.
	// Any value greater than 5 will be treated as if it were 5.
	MaxAttempts uint32 `protobuf:"varint,1,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"`
	// The first RPC will be sent immediately, but the max_requests-1 subsequent
	// hedged RPCs will be sent at intervals of every hedging_delay. Set this
	// to 0 to immediately send all max_requests RPCs.
	HedgingDelay *durationpb.Duration `protobuf:"bytes,2,opt,name=hedging_delay,json=hedgingDelay,proto3" json:"hedging_delay,omitempty"`
	// The set of status codes which indicate other hedged RPCs may still
	// succeed. If a non-fatal status code is returned by the server, hedged
	// RPCs will continue. Otherwise, outstanding requests will be canceled and
	// the error returned to the client application layer.
	//
	// This field is optional.
	NonFatalStatusCodes []code.Code `` /* 151-byte string literal not displayed */
	// contains filtered or unexported fields
}

The hedging policy for outgoing RPCs. Hedged RPCs may execute more than once on the server, so only idempotent methods should specify a hedging policy.

func (*MethodConfig_HedgingPolicy) ClearHedgingDelay

func (x *MethodConfig_HedgingPolicy) ClearHedgingDelay()

func (*MethodConfig_HedgingPolicy) GetHedgingDelay

func (x *MethodConfig_HedgingPolicy) GetHedgingDelay() *durationpb.Duration

func (*MethodConfig_HedgingPolicy) GetMaxAttempts

func (x *MethodConfig_HedgingPolicy) GetMaxAttempts() uint32

func (*MethodConfig_HedgingPolicy) GetNonFatalStatusCodes

func (x *MethodConfig_HedgingPolicy) GetNonFatalStatusCodes() []code.Code

func (*MethodConfig_HedgingPolicy) HasHedgingDelay

func (x *MethodConfig_HedgingPolicy) HasHedgingDelay() bool

func (*MethodConfig_HedgingPolicy) ProtoMessage

func (*MethodConfig_HedgingPolicy) ProtoMessage()

func (*MethodConfig_HedgingPolicy) ProtoReflect

func (*MethodConfig_HedgingPolicy) Reset

func (x *MethodConfig_HedgingPolicy) Reset()

func (*MethodConfig_HedgingPolicy) SetHedgingDelay

func (x *MethodConfig_HedgingPolicy) SetHedgingDelay(v *durationpb.Duration)

func (*MethodConfig_HedgingPolicy) SetMaxAttempts

func (x *MethodConfig_HedgingPolicy) SetMaxAttempts(v uint32)

func (*MethodConfig_HedgingPolicy) SetNonFatalStatusCodes

func (x *MethodConfig_HedgingPolicy) SetNonFatalStatusCodes(v []code.Code)

func (*MethodConfig_HedgingPolicy) String

func (x *MethodConfig_HedgingPolicy) String() string

type MethodConfig_HedgingPolicy_

type MethodConfig_HedgingPolicy_ struct {
	HedgingPolicy *MethodConfig_HedgingPolicy `protobuf:"bytes,7,opt,name=hedging_policy,json=hedgingPolicy,proto3,oneof"`
}

type MethodConfig_HedgingPolicy_builder

type MethodConfig_HedgingPolicy_builder struct {

	// The hedging policy will send up to max_requests RPCs.
	// This number represents the total number of all attempts, including
	// the original attempt.
	//
	// This field is required and must be greater than 1.
	// Any value greater than 5 will be treated as if it were 5.
	MaxAttempts uint32
	// The first RPC will be sent immediately, but the max_requests-1 subsequent
	// hedged RPCs will be sent at intervals of every hedging_delay. Set this
	// to 0 to immediately send all max_requests RPCs.
	HedgingDelay *durationpb.Duration
	// The set of status codes which indicate other hedged RPCs may still
	// succeed. If a non-fatal status code is returned by the server, hedged
	// RPCs will continue. Otherwise, outstanding requests will be canceled and
	// the error returned to the client application layer.
	//
	// This field is optional.
	NonFatalStatusCodes []code.Code
	// contains filtered or unexported fields
}

func (MethodConfig_HedgingPolicy_builder) Build

type MethodConfig_Name

type MethodConfig_Name struct {
	Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` // Required. Includes proto package name.
	Method  string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"`
	// contains filtered or unexported fields
}

The names of the methods to which this configuration applies.

  • MethodConfig without names (empty list) will be skipped.
  • Each name entry must be unique across the entire ServiceConfig.
  • If the 'method' field is empty, this MethodConfig specifies the defaults for all methods for the specified service.
  • If the 'service' field is empty, the 'method' field must be empty, and this MethodConfig specifies the default for all methods (it's the default config).

When determining which MethodConfig to use for a given RPC, the most specific match wins. For example, let's say that the service config contains the following MethodConfig entries:

method_config { name { } ... } method_config { name { service: "MyService" } ... } method_config { name { service: "MyService" method: "Foo" } ... }

MyService/Foo will use the third entry, because it exactly matches the service and method name. MyService/Bar will use the second entry, because it provides the default for all methods of MyService. AnotherService/Baz will use the first entry, because it doesn't match the other two.

In JSON representation, value "", value `null`, and not present are the same. The following are the same Name: - { "service": "s" } - { "service": "s", "method": null } - { "service": "s", "method": "" }

func (*MethodConfig_Name) GetMethod

func (x *MethodConfig_Name) GetMethod() string

func (*MethodConfig_Name) GetService

func (x *MethodConfig_Name) GetService() string

func (*MethodConfig_Name) ProtoMessage

func (*MethodConfig_Name) ProtoMessage()

func (*MethodConfig_Name) ProtoReflect

func (x *MethodConfig_Name) ProtoReflect() protoreflect.Message

func (*MethodConfig_Name) Reset

func (x *MethodConfig_Name) Reset()

func (*MethodConfig_Name) SetMethod

func (x *MethodConfig_Name) SetMethod(v string)

func (*MethodConfig_Name) SetService

func (x *MethodConfig_Name) SetService(v string)

func (*MethodConfig_Name) String

func (x *MethodConfig_Name) String() string

type MethodConfig_Name_builder

type MethodConfig_Name_builder struct {
	Service string
	Method  string
	// contains filtered or unexported fields
}

func (MethodConfig_Name_builder) Build

type MethodConfig_RetryPolicy

type MethodConfig_RetryPolicy struct {

	// The maximum number of RPC attempts, including the original attempt.
	//
	// This field is required and must be greater than 1.
	// Any value greater than 5 will be treated as if it were 5.
	MaxAttempts uint32 `protobuf:"varint,1,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"`
	// Exponential backoff parameters. The initial retry attempt will occur at
	// random(0, initial_backoff). In general, the nth attempt will occur at
	// random(0,
	//
	//	min(initial_backoff*backoff_multiplier**(n-1), max_backoff)).
	//
	// Required. Must be greater than zero.
	InitialBackoff *durationpb.Duration `protobuf:"bytes,2,opt,name=initial_backoff,json=initialBackoff,proto3" json:"initial_backoff,omitempty"`
	// Required. Must be greater than zero.
	MaxBackoff        *durationpb.Duration `protobuf:"bytes,3,opt,name=max_backoff,json=maxBackoff,proto3" json:"max_backoff,omitempty"`
	BackoffMultiplier float32              `protobuf:"fixed32,4,opt,name=backoff_multiplier,json=backoffMultiplier,proto3" json:"backoff_multiplier,omitempty"` // Required. Must be greater than zero.
	// The set of status codes which may be retried.
	//
	// This field is required and must be non-empty.
	RetryableStatusCodes []code.Code `` /* 152-byte string literal not displayed */
	// contains filtered or unexported fields
}

The retry policy for outgoing RPCs.

func (*MethodConfig_RetryPolicy) ClearInitialBackoff

func (x *MethodConfig_RetryPolicy) ClearInitialBackoff()

func (*MethodConfig_RetryPolicy) ClearMaxBackoff

func (x *MethodConfig_RetryPolicy) ClearMaxBackoff()

func (*MethodConfig_RetryPolicy) GetBackoffMultiplier

func (x *MethodConfig_RetryPolicy) GetBackoffMultiplier() float32

func (*MethodConfig_RetryPolicy) GetInitialBackoff

func (x *MethodConfig_RetryPolicy) GetInitialBackoff() *durationpb.Duration

func (*MethodConfig_RetryPolicy) GetMaxAttempts

func (x *MethodConfig_RetryPolicy) GetMaxAttempts() uint32

func (*MethodConfig_RetryPolicy) GetMaxBackoff

func (x *MethodConfig_RetryPolicy) GetMaxBackoff() *durationpb.Duration

func (*MethodConfig_RetryPolicy) GetRetryableStatusCodes

func (x *MethodConfig_RetryPolicy) GetRetryableStatusCodes() []code.Code

func (*MethodConfig_RetryPolicy) HasInitialBackoff

func (x *MethodConfig_RetryPolicy) HasInitialBackoff() bool

func (*MethodConfig_RetryPolicy) HasMaxBackoff

func (x *MethodConfig_RetryPolicy) HasMaxBackoff() bool

func (*MethodConfig_RetryPolicy) ProtoMessage

func (*MethodConfig_RetryPolicy) ProtoMessage()

func (*MethodConfig_RetryPolicy) ProtoReflect

func (x *MethodConfig_RetryPolicy) ProtoReflect() protoreflect.Message

func (*MethodConfig_RetryPolicy) Reset

func (x *MethodConfig_RetryPolicy) Reset()

func (*MethodConfig_RetryPolicy) SetBackoffMultiplier

func (x *MethodConfig_RetryPolicy) SetBackoffMultiplier(v float32)

func (*MethodConfig_RetryPolicy) SetInitialBackoff

func (x *MethodConfig_RetryPolicy) SetInitialBackoff(v *durationpb.Duration)

func (*MethodConfig_RetryPolicy) SetMaxAttempts

func (x *MethodConfig_RetryPolicy) SetMaxAttempts(v uint32)

func (*MethodConfig_RetryPolicy) SetMaxBackoff

func (x *MethodConfig_RetryPolicy) SetMaxBackoff(v *durationpb.Duration)

func (*MethodConfig_RetryPolicy) SetRetryableStatusCodes

func (x *MethodConfig_RetryPolicy) SetRetryableStatusCodes(v []code.Code)

func (*MethodConfig_RetryPolicy) String

func (x *MethodConfig_RetryPolicy) String() string

type MethodConfig_RetryPolicy_

type MethodConfig_RetryPolicy_ struct {
	RetryPolicy *MethodConfig_RetryPolicy `protobuf:"bytes,6,opt,name=retry_policy,json=retryPolicy,proto3,oneof"`
}

type MethodConfig_RetryPolicy_builder

type MethodConfig_RetryPolicy_builder struct {

	// The maximum number of RPC attempts, including the original attempt.
	//
	// This field is required and must be greater than 1.
	// Any value greater than 5 will be treated as if it were 5.
	MaxAttempts uint32
	// Exponential backoff parameters. The initial retry attempt will occur at
	// random(0, initial_backoff). In general, the nth attempt will occur at
	// random(0,
	//
	//	min(initial_backoff*backoff_multiplier**(n-1), max_backoff)).
	//
	// Required. Must be greater than zero.
	InitialBackoff *durationpb.Duration
	// Required. Must be greater than zero.
	MaxBackoff        *durationpb.Duration
	BackoffMultiplier float32
	// The set of status codes which may be retried.
	//
	// This field is required and must be non-empty.
	RetryableStatusCodes []code.Code
	// contains filtered or unexported fields
}

func (MethodConfig_RetryPolicy_builder) Build

type MethodConfig_builder

type MethodConfig_builder struct {
	Name []*MethodConfig_Name
	// Whether RPCs sent to this method should wait until the connection is
	// ready by default. If false, the RPC will abort immediately if there is
	// a transient failure connecting to the server. Otherwise, gRPC will
	// attempt to connect until the deadline is exceeded.
	//
	// The value specified via the gRPC client API will override the value
	// set here. However, note that setting the value in the client API will
	// also affect transient errors encountered during name resolution, which
	// cannot be caught by the value here, since the service config is
	// obtained by the gRPC client via name resolution.
	WaitForReady *wrapperspb.BoolValue
	// The default timeout in seconds for RPCs sent to this method. This can be
	// overridden in code. If no reply is received in the specified amount of
	// time, the request is aborted and a DEADLINE_EXCEEDED error status
	// is returned to the caller.
	//
	// The actual deadline used will be the minimum of the value specified here
	// and the value set by the application via the gRPC client API.  If either
	// one is not set, then the other will be used.  If neither is set, then the
	// request has no deadline.
	Timeout *durationpb.Duration
	// The maximum allowed payload size for an individual request or object in a
	// stream (client->server) in bytes. The size which is measured is the
	// serialized payload after per-message compression (but before stream
	// compression) in bytes. This applies both to streaming and non-streaming
	// requests.
	//
	// The actual value used is the minimum of the value specified here and the
	// value set by the application via the gRPC client API.  If either one is
	// not set, then the other will be used.  If neither is set, then the
	// built-in default is used.
	//
	// If a client attempts to send an object larger than this value, it will not
	// be sent and the client will see a ClientError.
	// Note that 0 is a valid value, meaning that the request message
	// must be empty.
	MaxRequestMessageBytes *wrapperspb.UInt32Value
	// The maximum allowed payload size for an individual response or object in a
	// stream (server->client) in bytes. The size which is measured is the
	// serialized payload after per-message compression (but before stream
	// compression) in bytes. This applies both to streaming and non-streaming
	// requests.
	//
	// The actual value used is the minimum of the value specified here and the
	// value set by the application via the gRPC client API.  If either one is
	// not set, then the other will be used.  If neither is set, then the
	// built-in default is used.
	//
	// If a server attempts to send an object larger than this value, it will not
	// be sent, and a ServerError will be sent to the client instead.
	// Note that 0 is a valid value, meaning that the response message
	// must be empty.
	MaxResponseMessageBytes *wrapperspb.UInt32Value

	// Fields of oneof RetryOrHedgingPolicy:
	RetryPolicy   *MethodConfig_RetryPolicy
	HedgingPolicy *MethodConfig_HedgingPolicy
	// contains filtered or unexported fields
}

func (MethodConfig_builder) Build

func (b0 MethodConfig_builder) Build() *MethodConfig

type OutlierDetectionLoadBalancingConfig

type OutlierDetectionLoadBalancingConfig struct {

	// The time interval between ejection analysis sweeps. This can result in
	// both new ejections as well as addresses being returned to service. Defaults
	// to 10000ms or 10s.
	Interval *durationpb.Duration `protobuf:"bytes,1,opt,name=interval,proto3" json:"interval,omitempty"`
	// The base time that as address is ejected for. The real time is equal to the
	// base time multiplied by the number of times the address has been ejected.
	// Defaults to 30000ms or 30s.
	BaseEjectionTime *durationpb.Duration `protobuf:"bytes,2,opt,name=base_ejection_time,json=baseEjectionTime,proto3" json:"base_ejection_time,omitempty"`
	// The maximum time that an address is ejected for. If not specified, the default value (300000ms or 300s) or
	// the base_ejection_time value is applied, whatever is larger.
	MaxEjectionTime *durationpb.Duration `protobuf:"bytes,3,opt,name=max_ejection_time,json=maxEjectionTime,proto3" json:"max_ejection_time,omitempty"`
	// The maximum % of an address list that can be ejected due to outlier
	// detection. Defaults to 10% but will eject at least one address regardless of the value.
	MaxEjectionPercent *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=max_ejection_percent,json=maxEjectionPercent,proto3" json:"max_ejection_percent,omitempty"`
	// If set, success rate ejections will be performed
	SuccessRateEjection *OutlierDetectionLoadBalancingConfig_SuccessRateEjection `protobuf:"bytes,5,opt,name=success_rate_ejection,json=successRateEjection,proto3" json:"success_rate_ejection,omitempty"`
	// If set, failure rate ejections will be performed
	FailurePercentageEjection *OutlierDetectionLoadBalancingConfig_FailurePercentageEjection `` /* 138-byte string literal not displayed */
	// The config for the child policy
	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,13,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// contains filtered or unexported fields
}

Configuration for outlier_detection LB policy

func (*OutlierDetectionLoadBalancingConfig) ClearBaseEjectionTime

func (x *OutlierDetectionLoadBalancingConfig) ClearBaseEjectionTime()

func (*OutlierDetectionLoadBalancingConfig) ClearFailurePercentageEjection

func (x *OutlierDetectionLoadBalancingConfig) ClearFailurePercentageEjection()

func (*OutlierDetectionLoadBalancingConfig) ClearInterval

func (x *OutlierDetectionLoadBalancingConfig) ClearInterval()

func (*OutlierDetectionLoadBalancingConfig) ClearMaxEjectionPercent

func (x *OutlierDetectionLoadBalancingConfig) ClearMaxEjectionPercent()

func (*OutlierDetectionLoadBalancingConfig) ClearMaxEjectionTime

func (x *OutlierDetectionLoadBalancingConfig) ClearMaxEjectionTime()

func (*OutlierDetectionLoadBalancingConfig) ClearSuccessRateEjection

func (x *OutlierDetectionLoadBalancingConfig) ClearSuccessRateEjection()

func (*OutlierDetectionLoadBalancingConfig) GetBaseEjectionTime

func (x *OutlierDetectionLoadBalancingConfig) GetBaseEjectionTime() *durationpb.Duration

func (*OutlierDetectionLoadBalancingConfig) GetChildPolicy

func (*OutlierDetectionLoadBalancingConfig) GetFailurePercentageEjection

func (*OutlierDetectionLoadBalancingConfig) GetInterval

func (*OutlierDetectionLoadBalancingConfig) GetMaxEjectionPercent

func (x *OutlierDetectionLoadBalancingConfig) GetMaxEjectionPercent() *wrapperspb.UInt32Value

func (*OutlierDetectionLoadBalancingConfig) GetMaxEjectionTime

func (x *OutlierDetectionLoadBalancingConfig) GetMaxEjectionTime() *durationpb.Duration

func (*OutlierDetectionLoadBalancingConfig) GetSuccessRateEjection

func (*OutlierDetectionLoadBalancingConfig) HasBaseEjectionTime

func (x *OutlierDetectionLoadBalancingConfig) HasBaseEjectionTime() bool

func (*OutlierDetectionLoadBalancingConfig) HasFailurePercentageEjection

func (x *OutlierDetectionLoadBalancingConfig) HasFailurePercentageEjection() bool

func (*OutlierDetectionLoadBalancingConfig) HasInterval

func (x *OutlierDetectionLoadBalancingConfig) HasInterval() bool

func (*OutlierDetectionLoadBalancingConfig) HasMaxEjectionPercent

func (x *OutlierDetectionLoadBalancingConfig) HasMaxEjectionPercent() bool

func (*OutlierDetectionLoadBalancingConfig) HasMaxEjectionTime

func (x *OutlierDetectionLoadBalancingConfig) HasMaxEjectionTime() bool

func (*OutlierDetectionLoadBalancingConfig) HasSuccessRateEjection

func (x *OutlierDetectionLoadBalancingConfig) HasSuccessRateEjection() bool

func (*OutlierDetectionLoadBalancingConfig) ProtoMessage

func (*OutlierDetectionLoadBalancingConfig) ProtoMessage()

func (*OutlierDetectionLoadBalancingConfig) ProtoReflect

func (*OutlierDetectionLoadBalancingConfig) Reset

func (*OutlierDetectionLoadBalancingConfig) SetBaseEjectionTime

func (x *OutlierDetectionLoadBalancingConfig) SetBaseEjectionTime(v *durationpb.Duration)

func (*OutlierDetectionLoadBalancingConfig) SetChildPolicy

func (*OutlierDetectionLoadBalancingConfig) SetFailurePercentageEjection

func (*OutlierDetectionLoadBalancingConfig) SetInterval

func (*OutlierDetectionLoadBalancingConfig) SetMaxEjectionPercent

func (x *OutlierDetectionLoadBalancingConfig) SetMaxEjectionPercent(v *wrapperspb.UInt32Value)

func (*OutlierDetectionLoadBalancingConfig) SetMaxEjectionTime

func (x *OutlierDetectionLoadBalancingConfig) SetMaxEjectionTime(v *durationpb.Duration)

func (*OutlierDetectionLoadBalancingConfig) SetSuccessRateEjection

func (*OutlierDetectionLoadBalancingConfig) String

type OutlierDetectionLoadBalancingConfig_FailurePercentageEjection

type OutlierDetectionLoadBalancingConfig_FailurePercentageEjection struct {

	// The failure percentage to use when determining failure percentage-based outlier detection. If
	// the failure percentage of a given address is greater than or equal to this value, it will be
	// ejected. Defaults to 85.
	Threshold *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=threshold,proto3" json:"threshold,omitempty"`
	// The % chance that an address will be actually ejected when an outlier status is detected through
	// failure percentage statistics. This setting can be used to disable ejection or to ramp it up
	// slowly. Defaults to 100.
	EnforcementPercentage *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=enforcement_percentage,json=enforcementPercentage,proto3" json:"enforcement_percentage,omitempty"`
	// The minimum number of addresses in order to perform failure percentage-based ejection.
	// If the total number of addresses is less than this value, failure percentage-based
	// ejection will not be performed. Defaults to 5.
	MinimumHosts *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=minimum_hosts,json=minimumHosts,proto3" json:"minimum_hosts,omitempty"`
	// The minimum number of total requests that must be collected in one interval (as defined by the
	// interval duration above) to perform failure percentage-based ejection for this address. If the
	// volume is lower than this setting, failure percentage-based ejection will not be performed for
	// this host. Defaults to 50.
	RequestVolume *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=request_volume,json=requestVolume,proto3" json:"request_volume,omitempty"`
	// contains filtered or unexported fields
}

Parameters for the failure percentage algorithm. This algorithm ejects individual endpoints whose failure rate is greater than some threshold, independently of any other endpoint.

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) ClearEnforcementPercentage

func (x *OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) ClearEnforcementPercentage()

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) ClearMinimumHosts

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) ClearRequestVolume

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) ClearThreshold

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) GetEnforcementPercentage

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) GetMinimumHosts

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) GetRequestVolume

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) GetThreshold

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) HasEnforcementPercentage

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) HasMinimumHosts

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) HasRequestVolume

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) HasThreshold

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) ProtoMessage

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) ProtoReflect

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) Reset

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) SetEnforcementPercentage

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) SetMinimumHosts

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) SetRequestVolume

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) SetThreshold

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) String

type OutlierDetectionLoadBalancingConfig_FailurePercentageEjection_builder

type OutlierDetectionLoadBalancingConfig_FailurePercentageEjection_builder struct {

	// The failure percentage to use when determining failure percentage-based outlier detection. If
	// the failure percentage of a given address is greater than or equal to this value, it will be
	// ejected. Defaults to 85.
	Threshold *wrapperspb.UInt32Value
	// The % chance that an address will be actually ejected when an outlier status is detected through
	// failure percentage statistics. This setting can be used to disable ejection or to ramp it up
	// slowly. Defaults to 100.
	EnforcementPercentage *wrapperspb.UInt32Value
	// The minimum number of addresses in order to perform failure percentage-based ejection.
	// If the total number of addresses is less than this value, failure percentage-based
	// ejection will not be performed. Defaults to 5.
	MinimumHosts *wrapperspb.UInt32Value
	// The minimum number of total requests that must be collected in one interval (as defined by the
	// interval duration above) to perform failure percentage-based ejection for this address. If the
	// volume is lower than this setting, failure percentage-based ejection will not be performed for
	// this host. Defaults to 50.
	RequestVolume *wrapperspb.UInt32Value
	// contains filtered or unexported fields
}

func (OutlierDetectionLoadBalancingConfig_FailurePercentageEjection_builder) Build

type OutlierDetectionLoadBalancingConfig_SuccessRateEjection

type OutlierDetectionLoadBalancingConfig_SuccessRateEjection struct {

	// This factor is used to determine the ejection threshold for success rate
	// outlier ejection. The ejection threshold is the difference between the
	// mean success rate, and the product of this factor and the standard
	// deviation of the mean success rate: mean - (stdev *
	// success_rate_stdev_factor). This factor is divided by a thousand to get a
	// double. That is, if the desired factor is 1.9, the runtime value should
	// be 1900. Defaults to 1900.
	StdevFactor *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=stdev_factor,json=stdevFactor,proto3" json:"stdev_factor,omitempty"`
	// The % chance that an address will be actually ejected when an outlier status
	// is detected through success rate statistics. This setting can be used to
	// disable ejection or to ramp it up slowly. Defaults to 100.
	EnforcementPercentage *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=enforcement_percentage,json=enforcementPercentage,proto3" json:"enforcement_percentage,omitempty"`
	// The number of addresses that must have enough request volume to
	// detect success rate outliers. If the number of addresses is less than this
	// setting, outlier detection via success rate statistics is not performed
	// for any addresses. Defaults to 5.
	MinimumHosts *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=minimum_hosts,json=minimumHosts,proto3" json:"minimum_hosts,omitempty"`
	// The minimum number of total requests that must be collected in one
	// interval (as defined by the interval duration above) to include this address
	// in success rate based outlier detection. If the volume is lower than this
	// setting, outlier detection via success rate statistics is not performed
	// for that address. Defaults to 100.
	RequestVolume *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=request_volume,json=requestVolume,proto3" json:"request_volume,omitempty"`
	// contains filtered or unexported fields
}

Parameters for the success rate ejection algorithm. This algorithm monitors the request success rate for all endpoints and ejects individual endpoints whose success rates are statistical outliers.

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) ClearEnforcementPercentage

func (x *OutlierDetectionLoadBalancingConfig_SuccessRateEjection) ClearEnforcementPercentage()

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) ClearMinimumHosts

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) ClearRequestVolume

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) ClearStdevFactor

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) GetEnforcementPercentage

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) GetMinimumHosts

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) GetRequestVolume

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) GetStdevFactor

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) HasEnforcementPercentage

func (x *OutlierDetectionLoadBalancingConfig_SuccessRateEjection) HasEnforcementPercentage() bool

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) HasMinimumHosts

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) HasRequestVolume

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) HasStdevFactor

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) ProtoMessage

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) ProtoReflect

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) Reset

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) SetEnforcementPercentage

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) SetMinimumHosts

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) SetRequestVolume

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) SetStdevFactor

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) String

type OutlierDetectionLoadBalancingConfig_SuccessRateEjection_builder

type OutlierDetectionLoadBalancingConfig_SuccessRateEjection_builder struct {

	// This factor is used to determine the ejection threshold for success rate
	// outlier ejection. The ejection threshold is the difference between the
	// mean success rate, and the product of this factor and the standard
	// deviation of the mean success rate: mean - (stdev *
	// success_rate_stdev_factor). This factor is divided by a thousand to get a
	// double. That is, if the desired factor is 1.9, the runtime value should
	// be 1900. Defaults to 1900.
	StdevFactor *wrapperspb.UInt32Value
	// The % chance that an address will be actually ejected when an outlier status
	// is detected through success rate statistics. This setting can be used to
	// disable ejection or to ramp it up slowly. Defaults to 100.
	EnforcementPercentage *wrapperspb.UInt32Value
	// The number of addresses that must have enough request volume to
	// detect success rate outliers. If the number of addresses is less than this
	// setting, outlier detection via success rate statistics is not performed
	// for any addresses. Defaults to 5.
	MinimumHosts *wrapperspb.UInt32Value
	// The minimum number of total requests that must be collected in one
	// interval (as defined by the interval duration above) to include this address
	// in success rate based outlier detection. If the volume is lower than this
	// setting, outlier detection via success rate statistics is not performed
	// for that address. Defaults to 100.
	RequestVolume *wrapperspb.UInt32Value
	// contains filtered or unexported fields
}

func (OutlierDetectionLoadBalancingConfig_SuccessRateEjection_builder) Build

type OutlierDetectionLoadBalancingConfig_builder

type OutlierDetectionLoadBalancingConfig_builder struct {

	// The time interval between ejection analysis sweeps. This can result in
	// both new ejections as well as addresses being returned to service. Defaults
	// to 10000ms or 10s.
	Interval *durationpb.Duration
	// The base time that as address is ejected for. The real time is equal to the
	// base time multiplied by the number of times the address has been ejected.
	// Defaults to 30000ms or 30s.
	BaseEjectionTime *durationpb.Duration
	// The maximum time that an address is ejected for. If not specified, the default value (300000ms or 300s) or
	// the base_ejection_time value is applied, whatever is larger.
	MaxEjectionTime *durationpb.Duration
	// The maximum % of an address list that can be ejected due to outlier
	// detection. Defaults to 10% but will eject at least one address regardless of the value.
	MaxEjectionPercent *wrapperspb.UInt32Value
	// If set, success rate ejections will be performed
	SuccessRateEjection *OutlierDetectionLoadBalancingConfig_SuccessRateEjection
	// If set, failure rate ejections will be performed
	FailurePercentageEjection *OutlierDetectionLoadBalancingConfig_FailurePercentageEjection
	// The config for the child policy
	ChildPolicy []*LoadBalancingConfig
	// contains filtered or unexported fields
}

func (OutlierDetectionLoadBalancingConfig_builder) Build

type OverrideHostLoadBalancingPolicyConfig

type OverrideHostLoadBalancingPolicyConfig struct {
	ClusterName string                 `protobuf:"bytes,3,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,2,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// valid health status for hosts that are considered when using
	// xds_override_host_experimental policy.
	// Default is [UNKNOWN, HEALTHY]
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	OverrideHostStatus []OverrideHostLoadBalancingPolicyConfig_HealthStatus `` /* 201-byte string literal not displayed */
	// contains filtered or unexported fields
}

Configuration for the xds_override_host LB policy.

func (*OverrideHostLoadBalancingPolicyConfig) GetChildPolicy

func (*OverrideHostLoadBalancingPolicyConfig) GetClusterName

func (x *OverrideHostLoadBalancingPolicyConfig) GetClusterName() string

func (*OverrideHostLoadBalancingPolicyConfig) GetOverrideHostStatus deprecated

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*OverrideHostLoadBalancingPolicyConfig) ProtoMessage

func (*OverrideHostLoadBalancingPolicyConfig) ProtoMessage()

func (*OverrideHostLoadBalancingPolicyConfig) ProtoReflect

func (*OverrideHostLoadBalancingPolicyConfig) Reset

func (*OverrideHostLoadBalancingPolicyConfig) SetChildPolicy

func (*OverrideHostLoadBalancingPolicyConfig) SetClusterName

func (x *OverrideHostLoadBalancingPolicyConfig) SetClusterName(v string)

func (*OverrideHostLoadBalancingPolicyConfig) SetOverrideHostStatus deprecated

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*OverrideHostLoadBalancingPolicyConfig) String

type OverrideHostLoadBalancingPolicyConfig_HealthStatus

type OverrideHostLoadBalancingPolicyConfig_HealthStatus int32
const (
	OverrideHostLoadBalancingPolicyConfig_UNKNOWN  OverrideHostLoadBalancingPolicyConfig_HealthStatus = 0
	OverrideHostLoadBalancingPolicyConfig_HEALTHY  OverrideHostLoadBalancingPolicyConfig_HealthStatus = 1
	OverrideHostLoadBalancingPolicyConfig_DRAINING OverrideHostLoadBalancingPolicyConfig_HealthStatus = 3
)

func (OverrideHostLoadBalancingPolicyConfig_HealthStatus) Descriptor

func (OverrideHostLoadBalancingPolicyConfig_HealthStatus) Enum

func (OverrideHostLoadBalancingPolicyConfig_HealthStatus) Number

func (OverrideHostLoadBalancingPolicyConfig_HealthStatus) String

func (OverrideHostLoadBalancingPolicyConfig_HealthStatus) Type

type OverrideHostLoadBalancingPolicyConfig_builder

type OverrideHostLoadBalancingPolicyConfig_builder struct {
	ClusterName string
	ChildPolicy []*LoadBalancingConfig
	// valid health status for hosts that are considered when using
	// xds_override_host_experimental policy.
	// Default is [UNKNOWN, HEALTHY]
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	OverrideHostStatus []OverrideHostLoadBalancingPolicyConfig_HealthStatus
	// contains filtered or unexported fields
}

func (OverrideHostLoadBalancingPolicyConfig_builder) Build

type PickFirstConfig

type PickFirstConfig struct {

	// If set to true, instructs the LB policy to randomly shuffle the list of
	// addresses received from the name resolver before attempting to connect to
	// them.
	ShuffleAddressList bool `protobuf:"varint,1,opt,name=shuffle_address_list,json=shuffleAddressList,proto3" json:"shuffle_address_list,omitempty"`
	// contains filtered or unexported fields
}

Configuration for pick_first LB policy.

func (*PickFirstConfig) GetShuffleAddressList

func (x *PickFirstConfig) GetShuffleAddressList() bool

func (*PickFirstConfig) ProtoMessage

func (*PickFirstConfig) ProtoMessage()

func (*PickFirstConfig) ProtoReflect

func (x *PickFirstConfig) ProtoReflect() protoreflect.Message

func (*PickFirstConfig) Reset

func (x *PickFirstConfig) Reset()

func (*PickFirstConfig) SetShuffleAddressList

func (x *PickFirstConfig) SetShuffleAddressList(v bool)

func (*PickFirstConfig) String

func (x *PickFirstConfig) String() string

type PickFirstConfig_builder

type PickFirstConfig_builder struct {

	// If set to true, instructs the LB policy to randomly shuffle the list of
	// addresses received from the name resolver before attempting to connect to
	// them.
	ShuffleAddressList bool
	// contains filtered or unexported fields
}

func (PickFirstConfig_builder) Build

type PriorityLoadBalancingPolicyConfig

type PriorityLoadBalancingPolicyConfig struct {
	Children map[string]*PriorityLoadBalancingPolicyConfig_Child `` /* 143-byte string literal not displayed */
	// A list of child names in decreasing priority order
	// (i.e., first element is the highest priority).
	Priorities []string `protobuf:"bytes,2,rep,name=priorities,proto3" json:"priorities,omitempty"`
	// contains filtered or unexported fields
}

Configuration for priority LB policy.

func (*PriorityLoadBalancingPolicyConfig) GetChildren

func (*PriorityLoadBalancingPolicyConfig) GetPriorities

func (x *PriorityLoadBalancingPolicyConfig) GetPriorities() []string

func (*PriorityLoadBalancingPolicyConfig) ProtoMessage

func (*PriorityLoadBalancingPolicyConfig) ProtoMessage()

func (*PriorityLoadBalancingPolicyConfig) ProtoReflect

func (*PriorityLoadBalancingPolicyConfig) Reset

func (*PriorityLoadBalancingPolicyConfig) SetChildren

func (*PriorityLoadBalancingPolicyConfig) SetPriorities

func (x *PriorityLoadBalancingPolicyConfig) SetPriorities(v []string)

func (*PriorityLoadBalancingPolicyConfig) String

type PriorityLoadBalancingPolicyConfig_Child

type PriorityLoadBalancingPolicyConfig_Child struct {
	Config []*LoadBalancingConfig `protobuf:"bytes,1,rep,name=config,proto3" json:"config,omitempty"`
	// If true, will ignore reresolution requests from this child.
	IgnoreReresolutionRequests bool `` /* 142-byte string literal not displayed */
	// contains filtered or unexported fields
}

A map of name to child policy configuration. The names are used to allow the priority policy to update existing child policies instead of creating new ones every time it receives a config update.

func (*PriorityLoadBalancingPolicyConfig_Child) GetConfig

func (*PriorityLoadBalancingPolicyConfig_Child) GetIgnoreReresolutionRequests

func (x *PriorityLoadBalancingPolicyConfig_Child) GetIgnoreReresolutionRequests() bool

func (*PriorityLoadBalancingPolicyConfig_Child) ProtoMessage

func (*PriorityLoadBalancingPolicyConfig_Child) ProtoReflect

func (*PriorityLoadBalancingPolicyConfig_Child) Reset

func (*PriorityLoadBalancingPolicyConfig_Child) SetConfig

func (*PriorityLoadBalancingPolicyConfig_Child) SetIgnoreReresolutionRequests

func (x *PriorityLoadBalancingPolicyConfig_Child) SetIgnoreReresolutionRequests(v bool)

func (*PriorityLoadBalancingPolicyConfig_Child) String

type PriorityLoadBalancingPolicyConfig_Child_builder

type PriorityLoadBalancingPolicyConfig_Child_builder struct {
	Config []*LoadBalancingConfig
	// If true, will ignore reresolution requests from this child.
	IgnoreReresolutionRequests bool
	// contains filtered or unexported fields
}

func (PriorityLoadBalancingPolicyConfig_Child_builder) Build

type PriorityLoadBalancingPolicyConfig_builder

type PriorityLoadBalancingPolicyConfig_builder struct {
	Children map[string]*PriorityLoadBalancingPolicyConfig_Child
	// A list of child names in decreasing priority order
	// (i.e., first element is the highest priority).
	Priorities []string
	// contains filtered or unexported fields
}

func (PriorityLoadBalancingPolicyConfig_builder) Build

type RandomSubsettingLoadBalancingConfig

type RandomSubsettingLoadBalancingConfig struct {

	// Number of backends every client will be connected to. The value is
	// required and must be greater than 0.
	SubsetSize uint32 `protobuf:"varint,1,opt,name=subset_size,json=subsetSize,proto3" json:"subset_size,omitempty"`
	// The configuration for the child policy. The value is required.
	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,2,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// contains filtered or unexported fields
}

Configuration for the random_subsetting_experimental LB policy. See gRFC A68.

func (*RandomSubsettingLoadBalancingConfig) GetChildPolicy

func (*RandomSubsettingLoadBalancingConfig) GetSubsetSize

func (x *RandomSubsettingLoadBalancingConfig) GetSubsetSize() uint32

func (*RandomSubsettingLoadBalancingConfig) ProtoMessage

func (*RandomSubsettingLoadBalancingConfig) ProtoMessage()

func (*RandomSubsettingLoadBalancingConfig) ProtoReflect

func (*RandomSubsettingLoadBalancingConfig) Reset

func (*RandomSubsettingLoadBalancingConfig) SetChildPolicy

func (*RandomSubsettingLoadBalancingConfig) SetSubsetSize

func (x *RandomSubsettingLoadBalancingConfig) SetSubsetSize(v uint32)

func (*RandomSubsettingLoadBalancingConfig) String

type RandomSubsettingLoadBalancingConfig_builder

type RandomSubsettingLoadBalancingConfig_builder struct {

	// Number of backends every client will be connected to. The value is
	// required and must be greater than 0.
	SubsetSize uint32
	// The configuration for the child policy. The value is required.
	ChildPolicy []*LoadBalancingConfig
	// contains filtered or unexported fields
}

func (RandomSubsettingLoadBalancingConfig_builder) Build

type RingHashLoadBalancingConfig

type RingHashLoadBalancingConfig struct {

	// A client-side option will cap these values to 4096.  If either of these
	// values are greater than the client-side cap, they will be treated
	// as the client-side cap value.
	MinRingSize       uint64 `protobuf:"varint,1,opt,name=min_ring_size,json=minRingSize,proto3" json:"min_ring_size,omitempty"`                  // Optional, defaults to 1024, max 8M.
	MaxRingSize       uint64 `protobuf:"varint,2,opt,name=max_ring_size,json=maxRingSize,proto3" json:"max_ring_size,omitempty"`                  // Optional, defaults to 4096, max 8M.
	RequestHashHeader string `protobuf:"bytes,3,opt,name=request_hash_header,json=requestHashHeader,proto3" json:"request_hash_header,omitempty"` // Optional, see gRFC A76.
	// contains filtered or unexported fields
}

Configuration for ring_hash LB policy.

func (*RingHashLoadBalancingConfig) GetMaxRingSize

func (x *RingHashLoadBalancingConfig) GetMaxRingSize() uint64

func (*RingHashLoadBalancingConfig) GetMinRingSize

func (x *RingHashLoadBalancingConfig) GetMinRingSize() uint64

func (*RingHashLoadBalancingConfig) GetRequestHashHeader

func (x *RingHashLoadBalancingConfig) GetRequestHashHeader() string

func (*RingHashLoadBalancingConfig) ProtoMessage

func (*RingHashLoadBalancingConfig) ProtoMessage()

func (*RingHashLoadBalancingConfig) ProtoReflect

func (*RingHashLoadBalancingConfig) Reset

func (x *RingHashLoadBalancingConfig) Reset()

func (*RingHashLoadBalancingConfig) SetMaxRingSize

func (x *RingHashLoadBalancingConfig) SetMaxRingSize(v uint64)

func (*RingHashLoadBalancingConfig) SetMinRingSize

func (x *RingHashLoadBalancingConfig) SetMinRingSize(v uint64)

func (*RingHashLoadBalancingConfig) SetRequestHashHeader

func (x *RingHashLoadBalancingConfig) SetRequestHashHeader(v string)

func (*RingHashLoadBalancingConfig) String

func (x *RingHashLoadBalancingConfig) String() string

type RingHashLoadBalancingConfig_builder

type RingHashLoadBalancingConfig_builder struct {

	// A client-side option will cap these values to 4096.  If either of these
	// values are greater than the client-side cap, they will be treated
	// as the client-side cap value.
	MinRingSize       uint64
	MaxRingSize       uint64
	RequestHashHeader string
	// contains filtered or unexported fields
}

func (RingHashLoadBalancingConfig_builder) Build

type RlsLoadBalancingPolicyConfig

type RlsLoadBalancingPolicyConfig struct {
	RouteLookupConfig *v1.RouteLookupConfig `protobuf:"bytes,1,opt,name=route_lookup_config,json=routeLookupConfig,proto3" json:"route_lookup_config,omitempty"`
	// Service config to use for the RLS channel.
	RouteLookupChannelServiceConfig *ServiceConfig         `` /* 160-byte string literal not displayed */
	ChildPolicy                     []*LoadBalancingConfig `protobuf:"bytes,3,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// Field name to add to child policy config to contain the target name.
	ChildPolicyConfigTargetFieldName string `` /* 165-byte string literal not displayed */
	// contains filtered or unexported fields
}

Config for RLS LB policy.

func (*RlsLoadBalancingPolicyConfig) ClearRouteLookupChannelServiceConfig

func (x *RlsLoadBalancingPolicyConfig) ClearRouteLookupChannelServiceConfig()

func (*RlsLoadBalancingPolicyConfig) ClearRouteLookupConfig

func (x *RlsLoadBalancingPolicyConfig) ClearRouteLookupConfig()

func (*RlsLoadBalancingPolicyConfig) GetChildPolicy

func (x *RlsLoadBalancingPolicyConfig) GetChildPolicy() []*LoadBalancingConfig

func (*RlsLoadBalancingPolicyConfig) GetChildPolicyConfigTargetFieldName

func (x *RlsLoadBalancingPolicyConfig) GetChildPolicyConfigTargetFieldName() string

func (*RlsLoadBalancingPolicyConfig) GetRouteLookupChannelServiceConfig

func (x *RlsLoadBalancingPolicyConfig) GetRouteLookupChannelServiceConfig() *ServiceConfig

func (*RlsLoadBalancingPolicyConfig) GetRouteLookupConfig

func (x *RlsLoadBalancingPolicyConfig) GetRouteLookupConfig() *v1.RouteLookupConfig

func (*RlsLoadBalancingPolicyConfig) HasRouteLookupChannelServiceConfig

func (x *RlsLoadBalancingPolicyConfig) HasRouteLookupChannelServiceConfig() bool

func (*RlsLoadBalancingPolicyConfig) HasRouteLookupConfig

func (x *RlsLoadBalancingPolicyConfig) HasRouteLookupConfig() bool

func (*RlsLoadBalancingPolicyConfig) ProtoMessage

func (*RlsLoadBalancingPolicyConfig) ProtoMessage()

func (*RlsLoadBalancingPolicyConfig) ProtoReflect

func (*RlsLoadBalancingPolicyConfig) Reset

func (x *RlsLoadBalancingPolicyConfig) Reset()

func (*RlsLoadBalancingPolicyConfig) SetChildPolicy

func (x *RlsLoadBalancingPolicyConfig) SetChildPolicy(v []*LoadBalancingConfig)

func (*RlsLoadBalancingPolicyConfig) SetChildPolicyConfigTargetFieldName

func (x *RlsLoadBalancingPolicyConfig) SetChildPolicyConfigTargetFieldName(v string)

func (*RlsLoadBalancingPolicyConfig) SetRouteLookupChannelServiceConfig

func (x *RlsLoadBalancingPolicyConfig) SetRouteLookupChannelServiceConfig(v *ServiceConfig)

func (*RlsLoadBalancingPolicyConfig) SetRouteLookupConfig

func (x *RlsLoadBalancingPolicyConfig) SetRouteLookupConfig(v *v1.RouteLookupConfig)

func (*RlsLoadBalancingPolicyConfig) String

type RlsLoadBalancingPolicyConfig_builder

type RlsLoadBalancingPolicyConfig_builder struct {
	RouteLookupConfig *v1.RouteLookupConfig
	// Service config to use for the RLS channel.
	RouteLookupChannelServiceConfig *ServiceConfig
	ChildPolicy                     []*LoadBalancingConfig
	// Field name to add to child policy config to contain the target name.
	ChildPolicyConfigTargetFieldName string
	// contains filtered or unexported fields
}

func (RlsLoadBalancingPolicyConfig_builder) Build

type RoundRobinConfig

type RoundRobinConfig struct {
	// contains filtered or unexported fields
}

Configuration for round_robin LB policy.

func (*RoundRobinConfig) ProtoMessage

func (*RoundRobinConfig) ProtoMessage()

func (*RoundRobinConfig) ProtoReflect

func (x *RoundRobinConfig) ProtoReflect() protoreflect.Message

func (*RoundRobinConfig) Reset

func (x *RoundRobinConfig) Reset()

func (*RoundRobinConfig) String

func (x *RoundRobinConfig) String() string

type RoundRobinConfig_builder

type RoundRobinConfig_builder struct {
	// contains filtered or unexported fields
}

func (RoundRobinConfig_builder) Build

type ServiceConfig

type ServiceConfig struct {

	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	LoadBalancingPolicy ServiceConfig_LoadBalancingPolicy `` /* 180-byte string literal not displayed */
	// Multiple LB policies can be specified; clients will iterate through
	// the list in order and stop at the first policy that they support. If none
	// are supported, the service config is considered invalid.
	LoadBalancingConfig []*LoadBalancingConfig `protobuf:"bytes,4,rep,name=load_balancing_config,json=loadBalancingConfig,proto3" json:"load_balancing_config,omitempty"`
	// Per-method configuration.
	MethodConfig      []*MethodConfig                      `protobuf:"bytes,2,rep,name=method_config,json=methodConfig,proto3" json:"method_config,omitempty"`
	RetryThrottling   *ServiceConfig_RetryThrottlingPolicy `protobuf:"bytes,3,opt,name=retry_throttling,json=retryThrottling,proto3" json:"retry_throttling,omitempty"`
	HealthCheckConfig *ServiceConfig_HealthCheckConfig     `protobuf:"bytes,5,opt,name=health_check_config,json=healthCheckConfig,proto3" json:"health_check_config,omitempty"`
	ConnectionScaling *ServiceConfig_ConnectionScaling     `protobuf:"bytes,6,opt,name=connection_scaling,json=connectionScaling,proto3" json:"connection_scaling,omitempty"`
	// contains filtered or unexported fields
}

A ServiceConfig represents information about a service but is not specific to any name resolver.

func (*ServiceConfig) ClearConnectionScaling

func (x *ServiceConfig) ClearConnectionScaling()

func (*ServiceConfig) ClearHealthCheckConfig

func (x *ServiceConfig) ClearHealthCheckConfig()

func (*ServiceConfig) ClearRetryThrottling

func (x *ServiceConfig) ClearRetryThrottling()

func (*ServiceConfig) GetConnectionScaling

func (x *ServiceConfig) GetConnectionScaling() *ServiceConfig_ConnectionScaling

func (*ServiceConfig) GetHealthCheckConfig

func (x *ServiceConfig) GetHealthCheckConfig() *ServiceConfig_HealthCheckConfig

func (*ServiceConfig) GetLoadBalancingConfig

func (x *ServiceConfig) GetLoadBalancingConfig() []*LoadBalancingConfig

func (*ServiceConfig) GetLoadBalancingPolicy deprecated

func (x *ServiceConfig) GetLoadBalancingPolicy() ServiceConfig_LoadBalancingPolicy

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*ServiceConfig) GetMethodConfig

func (x *ServiceConfig) GetMethodConfig() []*MethodConfig

func (*ServiceConfig) GetRetryThrottling

func (x *ServiceConfig) GetRetryThrottling() *ServiceConfig_RetryThrottlingPolicy

func (*ServiceConfig) HasConnectionScaling

func (x *ServiceConfig) HasConnectionScaling() bool

func (*ServiceConfig) HasHealthCheckConfig

func (x *ServiceConfig) HasHealthCheckConfig() bool

func (*ServiceConfig) HasRetryThrottling

func (x *ServiceConfig) HasRetryThrottling() bool

func (*ServiceConfig) ProtoMessage

func (*ServiceConfig) ProtoMessage()

func (*ServiceConfig) ProtoReflect

func (x *ServiceConfig) ProtoReflect() protoreflect.Message

func (*ServiceConfig) Reset

func (x *ServiceConfig) Reset()

func (*ServiceConfig) SetConnectionScaling

func (x *ServiceConfig) SetConnectionScaling(v *ServiceConfig_ConnectionScaling)

func (*ServiceConfig) SetHealthCheckConfig

func (x *ServiceConfig) SetHealthCheckConfig(v *ServiceConfig_HealthCheckConfig)

func (*ServiceConfig) SetLoadBalancingConfig

func (x *ServiceConfig) SetLoadBalancingConfig(v []*LoadBalancingConfig)

func (*ServiceConfig) SetLoadBalancingPolicy deprecated

func (x *ServiceConfig) SetLoadBalancingPolicy(v ServiceConfig_LoadBalancingPolicy)

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*ServiceConfig) SetMethodConfig

func (x *ServiceConfig) SetMethodConfig(v []*MethodConfig)

func (*ServiceConfig) SetRetryThrottling

func (x *ServiceConfig) SetRetryThrottling(v *ServiceConfig_RetryThrottlingPolicy)

func (*ServiceConfig) String

func (x *ServiceConfig) String() string

type ServiceConfig_ConnectionScaling

type ServiceConfig_ConnectionScaling struct {

	// Maximum connections gRPC will maintain for each subchannel in
	// this channel.  When no streams are available for an RPC in a
	// subchannel, gRPC will automatically create new connections up
	// to this limit.  If this value changes during the life of a
	// channel, existing subchannels will be updated to reflect
	// the change.  No connections will be closed as a result of
	// lowering this value; down-scaling will only happen as
	// connections are lost naturally.
	//
	// Values higher than the client-enforced limit (by default, 10)
	// will be clamped to that limit.
	MaxConnectionsPerSubchannel *wrapperspb.UInt32Value `` /* 146-byte string literal not displayed */
	// contains filtered or unexported fields
}

Settings to control dynamic connection scaling. For details, see: https://github.com/grpc/proposal/blob/master/A105-max_concurrent_streams-connection-scaling.md

func (*ServiceConfig_ConnectionScaling) ClearMaxConnectionsPerSubchannel

func (x *ServiceConfig_ConnectionScaling) ClearMaxConnectionsPerSubchannel()

func (*ServiceConfig_ConnectionScaling) GetMaxConnectionsPerSubchannel

func (x *ServiceConfig_ConnectionScaling) GetMaxConnectionsPerSubchannel() *wrapperspb.UInt32Value

func (*ServiceConfig_ConnectionScaling) HasMaxConnectionsPerSubchannel

func (x *ServiceConfig_ConnectionScaling) HasMaxConnectionsPerSubchannel() bool

func (*ServiceConfig_ConnectionScaling) ProtoMessage

func (*ServiceConfig_ConnectionScaling) ProtoMessage()

func (*ServiceConfig_ConnectionScaling) ProtoReflect

func (*ServiceConfig_ConnectionScaling) Reset

func (*ServiceConfig_ConnectionScaling) SetMaxConnectionsPerSubchannel

func (x *ServiceConfig_ConnectionScaling) SetMaxConnectionsPerSubchannel(v *wrapperspb.UInt32Value)

func (*ServiceConfig_ConnectionScaling) String

type ServiceConfig_ConnectionScaling_builder

type ServiceConfig_ConnectionScaling_builder struct {

	// Maximum connections gRPC will maintain for each subchannel in
	// this channel.  When no streams are available for an RPC in a
	// subchannel, gRPC will automatically create new connections up
	// to this limit.  If this value changes during the life of a
	// channel, existing subchannels will be updated to reflect
	// the change.  No connections will be closed as a result of
	// lowering this value; down-scaling will only happen as
	// connections are lost naturally.
	//
	// Values higher than the client-enforced limit (by default, 10)
	// will be clamped to that limit.
	MaxConnectionsPerSubchannel *wrapperspb.UInt32Value
	// contains filtered or unexported fields
}

func (ServiceConfig_ConnectionScaling_builder) Build

type ServiceConfig_HealthCheckConfig

type ServiceConfig_HealthCheckConfig struct {

	// Service name to use in the health-checking request.
	ServiceName *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
	// contains filtered or unexported fields
}

func (*ServiceConfig_HealthCheckConfig) ClearServiceName

func (x *ServiceConfig_HealthCheckConfig) ClearServiceName()

func (*ServiceConfig_HealthCheckConfig) GetServiceName

func (*ServiceConfig_HealthCheckConfig) HasServiceName

func (x *ServiceConfig_HealthCheckConfig) HasServiceName() bool

func (*ServiceConfig_HealthCheckConfig) ProtoMessage

func (*ServiceConfig_HealthCheckConfig) ProtoMessage()

func (*ServiceConfig_HealthCheckConfig) ProtoReflect

func (*ServiceConfig_HealthCheckConfig) Reset

func (*ServiceConfig_HealthCheckConfig) SetServiceName

func (*ServiceConfig_HealthCheckConfig) String

type ServiceConfig_HealthCheckConfig_builder

type ServiceConfig_HealthCheckConfig_builder struct {

	// Service name to use in the health-checking request.
	ServiceName *wrapperspb.StringValue
	// contains filtered or unexported fields
}

func (ServiceConfig_HealthCheckConfig_builder) Build

type ServiceConfig_LoadBalancingPolicy

type ServiceConfig_LoadBalancingPolicy int32

Load balancing policy.

Note that load_balancing_policy is deprecated in favor of load_balancing_config; the former will be used only if the latter is unset.

If no LB policy is configured here, then the default is pick_first. If the policy name is set via the client API, that value overrides the value specified here.

If the deprecated load_balancing_policy field is used, note that if the resolver returns at least one balancer address (as opposed to backend addresses), gRPC will use grpclb (see https://github.com/grpc/grpc/blob/master/doc/load-balancing.md), regardless of what policy is configured here. However, if the resolver returns at least one backend address in addition to the balancer address(es), the client may fall back to the requested policy if it is unable to reach any of the grpclb load balancers.

const (
	ServiceConfig_UNSPECIFIED ServiceConfig_LoadBalancingPolicy = 0
	ServiceConfig_ROUND_ROBIN ServiceConfig_LoadBalancingPolicy = 1
)

func (ServiceConfig_LoadBalancingPolicy) Descriptor

func (ServiceConfig_LoadBalancingPolicy) Enum

func (ServiceConfig_LoadBalancingPolicy) Number

func (ServiceConfig_LoadBalancingPolicy) String

func (ServiceConfig_LoadBalancingPolicy) Type

type ServiceConfig_RetryThrottlingPolicy

type ServiceConfig_RetryThrottlingPolicy struct {

	// The number of tokens starts at max_tokens. The token_count will always be
	// between 0 and max_tokens.
	//
	// This field is required and must be greater than zero.
	MaxTokens uint32 `protobuf:"varint,1,opt,name=max_tokens,json=maxTokens,proto3" json:"max_tokens,omitempty"`
	// The amount of tokens to add on each successful RPC. Typically this will
	// be some number between 0 and 1, e.g., 0.1.
	//
	// This field is required and must be greater than zero. Up to 3 decimal
	// places are supported.
	TokenRatio float32 `protobuf:"fixed32,2,opt,name=token_ratio,json=tokenRatio,proto3" json:"token_ratio,omitempty"`
	// contains filtered or unexported fields
}

If a RetryThrottlingPolicy is provided, gRPC will automatically throttle retry attempts and hedged RPCs when the client's ratio of failures to successes exceeds a threshold.

For each server name, the gRPC client will maintain a token_count which is initially set to max_tokens. Every outgoing RPC (regardless of service or method invoked) will change token_count as follows:

  • Every failed RPC will decrement the token_count by 1.
  • Every successful RPC will increment the token_count by token_ratio.

If token_count is less than or equal to max_tokens / 2, then RPCs will not be retried and hedged RPCs will not be sent.

func (*ServiceConfig_RetryThrottlingPolicy) GetMaxTokens

func (x *ServiceConfig_RetryThrottlingPolicy) GetMaxTokens() uint32

func (*ServiceConfig_RetryThrottlingPolicy) GetTokenRatio

func (x *ServiceConfig_RetryThrottlingPolicy) GetTokenRatio() float32

func (*ServiceConfig_RetryThrottlingPolicy) ProtoMessage

func (*ServiceConfig_RetryThrottlingPolicy) ProtoMessage()

func (*ServiceConfig_RetryThrottlingPolicy) ProtoReflect

func (*ServiceConfig_RetryThrottlingPolicy) Reset

func (*ServiceConfig_RetryThrottlingPolicy) SetMaxTokens

func (x *ServiceConfig_RetryThrottlingPolicy) SetMaxTokens(v uint32)

func (*ServiceConfig_RetryThrottlingPolicy) SetTokenRatio

func (x *ServiceConfig_RetryThrottlingPolicy) SetTokenRatio(v float32)

func (*ServiceConfig_RetryThrottlingPolicy) String

type ServiceConfig_RetryThrottlingPolicy_builder

type ServiceConfig_RetryThrottlingPolicy_builder struct {

	// The number of tokens starts at max_tokens. The token_count will always be
	// between 0 and max_tokens.
	//
	// This field is required and must be greater than zero.
	MaxTokens uint32
	// The amount of tokens to add on each successful RPC. Typically this will
	// be some number between 0 and 1, e.g., 0.1.
	//
	// This field is required and must be greater than zero. Up to 3 decimal
	// places are supported.
	TokenRatio float32
	// contains filtered or unexported fields
}

func (ServiceConfig_RetryThrottlingPolicy_builder) Build

type ServiceConfig_builder

type ServiceConfig_builder struct {

	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	LoadBalancingPolicy ServiceConfig_LoadBalancingPolicy
	// Multiple LB policies can be specified; clients will iterate through
	// the list in order and stop at the first policy that they support. If none
	// are supported, the service config is considered invalid.
	LoadBalancingConfig []*LoadBalancingConfig
	// Per-method configuration.
	MethodConfig      []*MethodConfig
	RetryThrottling   *ServiceConfig_RetryThrottlingPolicy
	HealthCheckConfig *ServiceConfig_HealthCheckConfig
	ConnectionScaling *ServiceConfig_ConnectionScaling
	// contains filtered or unexported fields
}

func (ServiceConfig_builder) Build

type WeightedRoundRobinLbConfig

type WeightedRoundRobinLbConfig struct {

	// Whether to enable out-of-band utilization reporting collection from
	// the endpoints.  By default, per-request utilization reporting is used.
	EnableOobLoadReport *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=enable_oob_load_report,json=enableOobLoadReport,proto3" json:"enable_oob_load_report,omitempty"`
	// Load reporting interval to request from the server.  Note that the
	// server may not provide reports as frequently as the client requests.
	// Used only when enable_oob_load_report is true.  Default is 10 seconds.
	OobReportingPeriod *durationpb.Duration `protobuf:"bytes,2,opt,name=oob_reporting_period,json=oobReportingPeriod,proto3" json:"oob_reporting_period,omitempty"`
	// A given endpoint must report load metrics continuously for at least
	// this long before the endpoint weight will be used.  This avoids
	// churn when the set of endpoint addresses changes.  Takes effect
	// both immediately after we establish a connection to an endpoint and
	// after weight_expiration_period has caused us to stop using the most
	// recent load metrics.  Default is 10 seconds.
	BlackoutPeriod *durationpb.Duration `protobuf:"bytes,3,opt,name=blackout_period,json=blackoutPeriod,proto3" json:"blackout_period,omitempty"`
	// If a given endpoint has not reported load metrics in this long,
	// then we stop using the reported weight.  This ensures that we do
	// not continue to use very stale weights.  Once we stop using a stale
	// value, if we later start seeing fresh reports again, the
	// blackout_period applies.  Defaults to 3 minutes.
	WeightExpirationPeriod *durationpb.Duration `` /* 129-byte string literal not displayed */
	// How often endpoint weights are recalculated. Values less than 100ms are
	// capped at 100ms. Default is 1 second.
	WeightUpdatePeriod *durationpb.Duration `protobuf:"bytes,5,opt,name=weight_update_period,json=weightUpdatePeriod,proto3" json:"weight_update_period,omitempty"`
	// The multiplier used to adjust endpoint weights with the error rate
	// calculated as eps/qps. Configuration is rejected if this value is negative.
	// Default is 1.0.
	ErrorUtilizationPenalty *wrapperspb.FloatValue `` /* 132-byte string literal not displayed */
	// contains filtered or unexported fields
}

Configuration for weighted_round_robin LB policy.

func (*WeightedRoundRobinLbConfig) ClearBlackoutPeriod

func (x *WeightedRoundRobinLbConfig) ClearBlackoutPeriod()

func (*WeightedRoundRobinLbConfig) ClearEnableOobLoadReport

func (x *WeightedRoundRobinLbConfig) ClearEnableOobLoadReport()

func (*WeightedRoundRobinLbConfig) ClearErrorUtilizationPenalty

func (x *WeightedRoundRobinLbConfig) ClearErrorUtilizationPenalty()

func (*WeightedRoundRobinLbConfig) ClearOobReportingPeriod

func (x *WeightedRoundRobinLbConfig) ClearOobReportingPeriod()

func (*WeightedRoundRobinLbConfig) ClearWeightExpirationPeriod

func (x *WeightedRoundRobinLbConfig) ClearWeightExpirationPeriod()

func (*WeightedRoundRobinLbConfig) ClearWeightUpdatePeriod

func (x *WeightedRoundRobinLbConfig) ClearWeightUpdatePeriod()

func (*WeightedRoundRobinLbConfig) GetBlackoutPeriod

func (x *WeightedRoundRobinLbConfig) GetBlackoutPeriod() *durationpb.Duration

func (*WeightedRoundRobinLbConfig) GetEnableOobLoadReport

func (x *WeightedRoundRobinLbConfig) GetEnableOobLoadReport() *wrapperspb.BoolValue

func (*WeightedRoundRobinLbConfig) GetErrorUtilizationPenalty

func (x *WeightedRoundRobinLbConfig) GetErrorUtilizationPenalty() *wrapperspb.FloatValue

func (*WeightedRoundRobinLbConfig) GetOobReportingPeriod

func (x *WeightedRoundRobinLbConfig) GetOobReportingPeriod() *durationpb.Duration

func (*WeightedRoundRobinLbConfig) GetWeightExpirationPeriod

func (x *WeightedRoundRobinLbConfig) GetWeightExpirationPeriod() *durationpb.Duration

func (*WeightedRoundRobinLbConfig) GetWeightUpdatePeriod

func (x *WeightedRoundRobinLbConfig) GetWeightUpdatePeriod() *durationpb.Duration

func (*WeightedRoundRobinLbConfig) HasBlackoutPeriod

func (x *WeightedRoundRobinLbConfig) HasBlackoutPeriod() bool

func (*WeightedRoundRobinLbConfig) HasEnableOobLoadReport

func (x *WeightedRoundRobinLbConfig) HasEnableOobLoadReport() bool

func (*WeightedRoundRobinLbConfig) HasErrorUtilizationPenalty

func (x *WeightedRoundRobinLbConfig) HasErrorUtilizationPenalty() bool

func (*WeightedRoundRobinLbConfig) HasOobReportingPeriod

func (x *WeightedRoundRobinLbConfig) HasOobReportingPeriod() bool

func (*WeightedRoundRobinLbConfig) HasWeightExpirationPeriod

func (x *WeightedRoundRobinLbConfig) HasWeightExpirationPeriod() bool

func (*WeightedRoundRobinLbConfig) HasWeightUpdatePeriod

func (x *WeightedRoundRobinLbConfig) HasWeightUpdatePeriod() bool

func (*WeightedRoundRobinLbConfig) ProtoMessage

func (*WeightedRoundRobinLbConfig) ProtoMessage()

func (*WeightedRoundRobinLbConfig) ProtoReflect

func (*WeightedRoundRobinLbConfig) Reset

func (x *WeightedRoundRobinLbConfig) Reset()

func (*WeightedRoundRobinLbConfig) SetBlackoutPeriod

func (x *WeightedRoundRobinLbConfig) SetBlackoutPeriod(v *durationpb.Duration)

func (*WeightedRoundRobinLbConfig) SetEnableOobLoadReport

func (x *WeightedRoundRobinLbConfig) SetEnableOobLoadReport(v *wrapperspb.BoolValue)

func (*WeightedRoundRobinLbConfig) SetErrorUtilizationPenalty

func (x *WeightedRoundRobinLbConfig) SetErrorUtilizationPenalty(v *wrapperspb.FloatValue)

func (*WeightedRoundRobinLbConfig) SetOobReportingPeriod

func (x *WeightedRoundRobinLbConfig) SetOobReportingPeriod(v *durationpb.Duration)

func (*WeightedRoundRobinLbConfig) SetWeightExpirationPeriod

func (x *WeightedRoundRobinLbConfig) SetWeightExpirationPeriod(v *durationpb.Duration)

func (*WeightedRoundRobinLbConfig) SetWeightUpdatePeriod

func (x *WeightedRoundRobinLbConfig) SetWeightUpdatePeriod(v *durationpb.Duration)

func (*WeightedRoundRobinLbConfig) String

func (x *WeightedRoundRobinLbConfig) String() string

type WeightedRoundRobinLbConfig_builder

type WeightedRoundRobinLbConfig_builder struct {

	// Whether to enable out-of-band utilization reporting collection from
	// the endpoints.  By default, per-request utilization reporting is used.
	EnableOobLoadReport *wrapperspb.BoolValue
	// Load reporting interval to request from the server.  Note that the
	// server may not provide reports as frequently as the client requests.
	// Used only when enable_oob_load_report is true.  Default is 10 seconds.
	OobReportingPeriod *durationpb.Duration
	// A given endpoint must report load metrics continuously for at least
	// this long before the endpoint weight will be used.  This avoids
	// churn when the set of endpoint addresses changes.  Takes effect
	// both immediately after we establish a connection to an endpoint and
	// after weight_expiration_period has caused us to stop using the most
	// recent load metrics.  Default is 10 seconds.
	BlackoutPeriod *durationpb.Duration
	// If a given endpoint has not reported load metrics in this long,
	// then we stop using the reported weight.  This ensures that we do
	// not continue to use very stale weights.  Once we stop using a stale
	// value, if we later start seeing fresh reports again, the
	// blackout_period applies.  Defaults to 3 minutes.
	WeightExpirationPeriod *durationpb.Duration
	// How often endpoint weights are recalculated. Values less than 100ms are
	// capped at 100ms. Default is 1 second.
	WeightUpdatePeriod *durationpb.Duration
	// The multiplier used to adjust endpoint weights with the error rate
	// calculated as eps/qps. Configuration is rejected if this value is negative.
	// Default is 1.0.
	ErrorUtilizationPenalty *wrapperspb.FloatValue
	// contains filtered or unexported fields
}

func (WeightedRoundRobinLbConfig_builder) Build

type WeightedTargetLoadBalancingPolicyConfig

type WeightedTargetLoadBalancingPolicyConfig struct {
	Targets map[string]*WeightedTargetLoadBalancingPolicyConfig_Target `` /* 141-byte string literal not displayed */
	// contains filtered or unexported fields
}

Configuration for weighted_target LB policy.

func (*WeightedTargetLoadBalancingPolicyConfig) GetTargets

func (*WeightedTargetLoadBalancingPolicyConfig) ProtoMessage

func (*WeightedTargetLoadBalancingPolicyConfig) ProtoReflect

func (*WeightedTargetLoadBalancingPolicyConfig) Reset

func (*WeightedTargetLoadBalancingPolicyConfig) SetTargets

func (*WeightedTargetLoadBalancingPolicyConfig) String

type WeightedTargetLoadBalancingPolicyConfig_Target

type WeightedTargetLoadBalancingPolicyConfig_Target struct {
	Weight      uint32                 `protobuf:"varint,1,opt,name=weight,proto3" json:"weight,omitempty"`
	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,2,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// contains filtered or unexported fields
}

func (*WeightedTargetLoadBalancingPolicyConfig_Target) GetChildPolicy

func (*WeightedTargetLoadBalancingPolicyConfig_Target) GetWeight

func (*WeightedTargetLoadBalancingPolicyConfig_Target) ProtoMessage

func (*WeightedTargetLoadBalancingPolicyConfig_Target) ProtoReflect

func (*WeightedTargetLoadBalancingPolicyConfig_Target) Reset

func (*WeightedTargetLoadBalancingPolicyConfig_Target) SetChildPolicy

func (*WeightedTargetLoadBalancingPolicyConfig_Target) SetWeight

func (*WeightedTargetLoadBalancingPolicyConfig_Target) String

type WeightedTargetLoadBalancingPolicyConfig_Target_builder

type WeightedTargetLoadBalancingPolicyConfig_Target_builder struct {
	Weight      uint32
	ChildPolicy []*LoadBalancingConfig
	// contains filtered or unexported fields
}

func (WeightedTargetLoadBalancingPolicyConfig_Target_builder) Build

type WeightedTargetLoadBalancingPolicyConfig_builder

type WeightedTargetLoadBalancingPolicyConfig_builder struct {
	Targets map[string]*WeightedTargetLoadBalancingPolicyConfig_Target
	// contains filtered or unexported fields
}

func (WeightedTargetLoadBalancingPolicyConfig_builder) Build

type XdsClusterImplLoadBalancingPolicyConfig

type XdsClusterImplLoadBalancingPolicyConfig struct {

	// Cluster name.  Required.
	Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
	// Child policy.
	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,6,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// EDS service name.
	// Not set if cluster is not an EDS cluster or if it does not
	// specify an EDS service name.
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	EdsServiceName string `protobuf:"bytes,2,opt,name=eds_service_name,json=edsServiceName,proto3" json:"eds_service_name,omitempty"`
	// Server to send load reports to.
	// If unset, no load reporting is done.
	// If set to empty string, load reporting will be sent to the same
	// server as we are getting xds data from.
	// DEPRECATED: Use new lrs_load_reporting_server field instead.
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	LrsLoadReportingServerName *wrapperspb.StringValue `` /* 145-byte string literal not displayed */
	// LRS server to send load reports to.
	// If not present, load reporting will be disabled.
	// Supercedes lrs_load_reporting_server_name field.
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	LrsLoadReportingServer *XdsServer `` /* 131-byte string literal not displayed */
	// Maximum number of outstanding requests can be made to the upstream cluster.
	// Default is 1024.
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	MaxConcurrentRequests *wrapperspb.UInt32Value `` /* 126-byte string literal not displayed */
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	DropCategories []*XdsClusterImplLoadBalancingPolicyConfig_DropCategory `protobuf:"bytes,5,rep,name=drop_categories,json=dropCategories,proto3" json:"drop_categories,omitempty"`
	// Telemetry labels associated with this cluster
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	TelemetryLabels map[string]string `` /* 180-byte string literal not displayed */
	// contains filtered or unexported fields
}

Configuration for xds_cluster_impl LB policy.

func (*XdsClusterImplLoadBalancingPolicyConfig) ClearLrsLoadReportingServer deprecated

func (x *XdsClusterImplLoadBalancingPolicyConfig) ClearLrsLoadReportingServer()

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) ClearLrsLoadReportingServerName deprecated

func (x *XdsClusterImplLoadBalancingPolicyConfig) ClearLrsLoadReportingServerName()

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) ClearMaxConcurrentRequests deprecated

func (x *XdsClusterImplLoadBalancingPolicyConfig) ClearMaxConcurrentRequests()

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) GetChildPolicy

func (*XdsClusterImplLoadBalancingPolicyConfig) GetCluster

func (*XdsClusterImplLoadBalancingPolicyConfig) GetDropCategories deprecated

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) GetEdsServiceName deprecated

func (x *XdsClusterImplLoadBalancingPolicyConfig) GetEdsServiceName() string

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) GetLrsLoadReportingServer deprecated

func (x *XdsClusterImplLoadBalancingPolicyConfig) GetLrsLoadReportingServer() *XdsServer

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) GetLrsLoadReportingServerName deprecated

func (x *XdsClusterImplLoadBalancingPolicyConfig) GetLrsLoadReportingServerName() *wrapperspb.StringValue

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) GetMaxConcurrentRequests deprecated

func (x *XdsClusterImplLoadBalancingPolicyConfig) GetMaxConcurrentRequests() *wrapperspb.UInt32Value

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) GetTelemetryLabels deprecated

func (x *XdsClusterImplLoadBalancingPolicyConfig) GetTelemetryLabels() map[string]string

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) HasLrsLoadReportingServer deprecated

func (x *XdsClusterImplLoadBalancingPolicyConfig) HasLrsLoadReportingServer() bool

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) HasLrsLoadReportingServerName deprecated

func (x *XdsClusterImplLoadBalancingPolicyConfig) HasLrsLoadReportingServerName() bool

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) HasMaxConcurrentRequests deprecated

func (x *XdsClusterImplLoadBalancingPolicyConfig) HasMaxConcurrentRequests() bool

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) ProtoMessage

func (*XdsClusterImplLoadBalancingPolicyConfig) ProtoReflect

func (*XdsClusterImplLoadBalancingPolicyConfig) Reset

func (*XdsClusterImplLoadBalancingPolicyConfig) SetChildPolicy

func (*XdsClusterImplLoadBalancingPolicyConfig) SetCluster

func (*XdsClusterImplLoadBalancingPolicyConfig) SetDropCategories deprecated

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) SetEdsServiceName deprecated

func (x *XdsClusterImplLoadBalancingPolicyConfig) SetEdsServiceName(v string)

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) SetLrsLoadReportingServer deprecated

func (x *XdsClusterImplLoadBalancingPolicyConfig) SetLrsLoadReportingServer(v *XdsServer)

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) SetLrsLoadReportingServerName deprecated

func (x *XdsClusterImplLoadBalancingPolicyConfig) SetLrsLoadReportingServerName(v *wrapperspb.StringValue)

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) SetMaxConcurrentRequests deprecated

func (x *XdsClusterImplLoadBalancingPolicyConfig) SetMaxConcurrentRequests(v *wrapperspb.UInt32Value)

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) SetTelemetryLabels deprecated

func (x *XdsClusterImplLoadBalancingPolicyConfig) SetTelemetryLabels(v map[string]string)

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) String

type XdsClusterImplLoadBalancingPolicyConfig_DropCategory

type XdsClusterImplLoadBalancingPolicyConfig_DropCategory struct {
	Category           string `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"`
	RequestsPerMillion uint32 `protobuf:"varint,2,opt,name=requests_per_million,json=requestsPerMillion,proto3" json:"requests_per_million,omitempty"`
	// contains filtered or unexported fields
}

Drop configuration.

func (*XdsClusterImplLoadBalancingPolicyConfig_DropCategory) GetCategory

func (*XdsClusterImplLoadBalancingPolicyConfig_DropCategory) GetRequestsPerMillion

func (*XdsClusterImplLoadBalancingPolicyConfig_DropCategory) ProtoMessage

func (*XdsClusterImplLoadBalancingPolicyConfig_DropCategory) ProtoReflect

func (*XdsClusterImplLoadBalancingPolicyConfig_DropCategory) Reset

func (*XdsClusterImplLoadBalancingPolicyConfig_DropCategory) SetCategory

func (*XdsClusterImplLoadBalancingPolicyConfig_DropCategory) SetRequestsPerMillion

func (*XdsClusterImplLoadBalancingPolicyConfig_DropCategory) String

type XdsClusterImplLoadBalancingPolicyConfig_DropCategory_builder

type XdsClusterImplLoadBalancingPolicyConfig_DropCategory_builder struct {
	Category           string
	RequestsPerMillion uint32
	// contains filtered or unexported fields
}

func (XdsClusterImplLoadBalancingPolicyConfig_DropCategory_builder) Build

type XdsClusterImplLoadBalancingPolicyConfig_builder

type XdsClusterImplLoadBalancingPolicyConfig_builder struct {

	// Cluster name.  Required.
	Cluster string
	// Child policy.
	ChildPolicy []*LoadBalancingConfig
	// EDS service name.
	// Not set if cluster is not an EDS cluster or if it does not
	// specify an EDS service name.
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	EdsServiceName string
	// Server to send load reports to.
	// If unset, no load reporting is done.
	// If set to empty string, load reporting will be sent to the same
	// server as we are getting xds data from.
	// DEPRECATED: Use new lrs_load_reporting_server field instead.
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	LrsLoadReportingServerName *wrapperspb.StringValue
	// LRS server to send load reports to.
	// If not present, load reporting will be disabled.
	// Supercedes lrs_load_reporting_server_name field.
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	LrsLoadReportingServer *XdsServer
	// Maximum number of outstanding requests can be made to the upstream cluster.
	// Default is 1024.
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	MaxConcurrentRequests *wrapperspb.UInt32Value
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	DropCategories []*XdsClusterImplLoadBalancingPolicyConfig_DropCategory
	// Telemetry labels associated with this cluster
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	TelemetryLabels map[string]string
	// contains filtered or unexported fields
}

func (XdsClusterImplLoadBalancingPolicyConfig_builder) Build

type XdsClusterManagerLoadBalancingPolicyConfig

type XdsClusterManagerLoadBalancingPolicyConfig struct {
	Children map[string]*XdsClusterManagerLoadBalancingPolicyConfig_Child `` /* 143-byte string literal not displayed */
	// contains filtered or unexported fields
}

Configuration for xds_cluster_manager_experimental LB policy.

func (*XdsClusterManagerLoadBalancingPolicyConfig) GetChildren

func (*XdsClusterManagerLoadBalancingPolicyConfig) ProtoMessage

func (*XdsClusterManagerLoadBalancingPolicyConfig) ProtoReflect

func (*XdsClusterManagerLoadBalancingPolicyConfig) Reset

func (*XdsClusterManagerLoadBalancingPolicyConfig) SetChildren

func (*XdsClusterManagerLoadBalancingPolicyConfig) String

type XdsClusterManagerLoadBalancingPolicyConfig_Child

type XdsClusterManagerLoadBalancingPolicyConfig_Child struct {
	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,1,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// contains filtered or unexported fields
}

func (*XdsClusterManagerLoadBalancingPolicyConfig_Child) GetChildPolicy

func (*XdsClusterManagerLoadBalancingPolicyConfig_Child) ProtoMessage

func (*XdsClusterManagerLoadBalancingPolicyConfig_Child) ProtoReflect

func (*XdsClusterManagerLoadBalancingPolicyConfig_Child) Reset

func (*XdsClusterManagerLoadBalancingPolicyConfig_Child) SetChildPolicy

func (*XdsClusterManagerLoadBalancingPolicyConfig_Child) String

type XdsClusterManagerLoadBalancingPolicyConfig_Child_builder

type XdsClusterManagerLoadBalancingPolicyConfig_Child_builder struct {
	ChildPolicy []*LoadBalancingConfig
	// contains filtered or unexported fields
}

func (XdsClusterManagerLoadBalancingPolicyConfig_Child_builder) Build

type XdsClusterManagerLoadBalancingPolicyConfig_builder

type XdsClusterManagerLoadBalancingPolicyConfig_builder struct {
	Children map[string]*XdsClusterManagerLoadBalancingPolicyConfig_Child
	// contains filtered or unexported fields
}

func (XdsClusterManagerLoadBalancingPolicyConfig_builder) Build

type XdsClusterResolverLoadBalancingPolicyConfig

type XdsClusterResolverLoadBalancingPolicyConfig struct {

	// Ordered list of discovery mechanisms.
	// Must have at least one element.
	// Results from each discovery mechanism are concatenated together in
	// successive priorities.
	DiscoveryMechanisms []*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism `protobuf:"bytes,1,rep,name=discovery_mechanisms,json=discoveryMechanisms,proto3" json:"discovery_mechanisms,omitempty"`
	// xDS LB policy. Will be used as the child config of the xds_cluster_impl LB policy.
	XdsLbPolicy []*LoadBalancingConfig `protobuf:"bytes,2,rep,name=xds_lb_policy,json=xdsLbPolicy,proto3" json:"xds_lb_policy,omitempty"`
	// contains filtered or unexported fields
}

Configuration for xds_cluster_resolver LB policy. Deprecated.

func (*XdsClusterResolverLoadBalancingPolicyConfig) GetDiscoveryMechanisms

func (*XdsClusterResolverLoadBalancingPolicyConfig) GetXdsLbPolicy

func (*XdsClusterResolverLoadBalancingPolicyConfig) ProtoMessage

func (*XdsClusterResolverLoadBalancingPolicyConfig) ProtoReflect

func (*XdsClusterResolverLoadBalancingPolicyConfig) Reset

func (*XdsClusterResolverLoadBalancingPolicyConfig) SetDiscoveryMechanisms

func (*XdsClusterResolverLoadBalancingPolicyConfig) SetXdsLbPolicy

func (*XdsClusterResolverLoadBalancingPolicyConfig) String

type XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism

type XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism struct {

	// Cluster name.
	Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
	// LRS server to send load reports to.
	// If not present, load reporting will be disabled.
	// If set to the empty string, load reporting will be sent to the same
	// server that we obtained CDS data from.
	// DEPRECATED: Use new lrs_load_reporting_server field instead.
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	LrsLoadReportingServerName *wrapperspb.StringValue `` /* 145-byte string literal not displayed */
	// LRS server to send load reports to.
	// If not present, load reporting will be disabled.
	// Supercedes lrs_load_reporting_server_name field.
	LrsLoadReportingServer *XdsServer `` /* 131-byte string literal not displayed */
	// Maximum number of outstanding requests can be made to the upstream
	// cluster.  Default is 1024.
	MaxConcurrentRequests *wrapperspb.UInt32Value                                             `` /* 126-byte string literal not displayed */
	Type                  XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type `` /* 155-byte string literal not displayed */
	// For type EDS only.
	// EDS service name, as returned in CDS.
	// May be unset if not specified in CDS.
	EdsServiceName string `protobuf:"bytes,5,opt,name=eds_service_name,json=edsServiceName,proto3" json:"eds_service_name,omitempty"`
	// For type LOGICAL_DNS only.
	// DNS name to resolve in "host:port" form.
	DnsHostname string `protobuf:"bytes,6,opt,name=dns_hostname,json=dnsHostname,proto3" json:"dns_hostname,omitempty"`
	// The configuration for outlier_detection child policies
	// Within this message, the child_policy field will be ignored
	OutlierDetection *OutlierDetectionLoadBalancingConfig `protobuf:"bytes,8,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"`
	// The configuration for xds_override_host child policy
	OverrideHostStatus []OverrideHostLoadBalancingPolicyConfig_HealthStatus `` /* 201-byte string literal not displayed */
	// Telemetry labels associated with this cluster
	TelemetryLabels map[string]string `` /* 181-byte string literal not displayed */
	// contains filtered or unexported fields
}

Describes a discovery mechanism instance. For EDS or LOGICAL_DNS clusters, there will be exactly one DiscoveryMechanism, which will describe the cluster of the parent CDS policy. For aggregate clusters, there will be one DiscoveryMechanism for each underlying cluster.

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) ClearLrsLoadReportingServer

func (x *XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) ClearLrsLoadReportingServer()

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) ClearLrsLoadReportingServerName deprecated

func (x *XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) ClearLrsLoadReportingServerName()

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) ClearMaxConcurrentRequests

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) ClearOutlierDetection

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetCluster

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetDnsHostname

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetEdsServiceName

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetLrsLoadReportingServer

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetLrsLoadReportingServerName deprecated

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetMaxConcurrentRequests

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetOutlierDetection

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetOverrideHostStatus

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetTelemetryLabels

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetType

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) HasLrsLoadReportingServer

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) HasLrsLoadReportingServerName deprecated

func (x *XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) HasLrsLoadReportingServerName() bool

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) HasMaxConcurrentRequests

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) HasOutlierDetection

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) ProtoMessage

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) ProtoReflect

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) Reset

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) SetCluster

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) SetDnsHostname

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) SetEdsServiceName

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) SetLrsLoadReportingServer

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) SetLrsLoadReportingServerName deprecated

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) SetMaxConcurrentRequests

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) SetOutlierDetection

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) SetOverrideHostStatus

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) SetTelemetryLabels

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) SetType

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) String

type XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type

type XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type int32
const (
	XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_UNKNOWN     XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type = 0
	XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_EDS         XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type = 1
	XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_LOGICAL_DNS XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type = 2
)

func (XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type) Descriptor

func (XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type) Enum

func (XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type) Number

func (XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type) String

func (XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type) Type

type XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_builder

type XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_builder struct {

	// Cluster name.
	Cluster string
	// LRS server to send load reports to.
	// If not present, load reporting will be disabled.
	// If set to the empty string, load reporting will be sent to the same
	// server that we obtained CDS data from.
	// DEPRECATED: Use new lrs_load_reporting_server field instead.
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	LrsLoadReportingServerName *wrapperspb.StringValue
	// LRS server to send load reports to.
	// If not present, load reporting will be disabled.
	// Supercedes lrs_load_reporting_server_name field.
	LrsLoadReportingServer *XdsServer
	// Maximum number of outstanding requests can be made to the upstream
	// cluster.  Default is 1024.
	MaxConcurrentRequests *wrapperspb.UInt32Value
	Type                  XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type
	// For type EDS only.
	// EDS service name, as returned in CDS.
	// May be unset if not specified in CDS.
	EdsServiceName string
	// For type LOGICAL_DNS only.
	// DNS name to resolve in "host:port" form.
	DnsHostname string
	// The configuration for outlier_detection child policies
	// Within this message, the child_policy field will be ignored
	OutlierDetection *OutlierDetectionLoadBalancingConfig
	// The configuration for xds_override_host child policy
	OverrideHostStatus []OverrideHostLoadBalancingPolicyConfig_HealthStatus
	// Telemetry labels associated with this cluster
	TelemetryLabels map[string]string
	// contains filtered or unexported fields
}

func (XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_builder) Build

type XdsClusterResolverLoadBalancingPolicyConfig_builder

type XdsClusterResolverLoadBalancingPolicyConfig_builder struct {

	// Ordered list of discovery mechanisms.
	// Must have at least one element.
	// Results from each discovery mechanism are concatenated together in
	// successive priorities.
	DiscoveryMechanisms []*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism
	// xDS LB policy. Will be used as the child config of the xds_cluster_impl LB policy.
	XdsLbPolicy []*LoadBalancingConfig
	// contains filtered or unexported fields
}

func (XdsClusterResolverLoadBalancingPolicyConfig_builder) Build

type XdsConfig

type XdsConfig struct {

	// Name of balancer to connect to.
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	BalancerName string `protobuf:"bytes,1,opt,name=balancer_name,json=balancerName,proto3" json:"balancer_name,omitempty"`
	// Optional.  What LB policy to use for intra-locality routing.
	// If unset, will use whatever algorithm is specified by the balancer.
	// Multiple LB policies can be specified; clients will iterate through
	// the list in order and stop at the first policy that they support.
	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,2,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// Optional.  What LB policy to use in fallback mode.  If not
	// specified, defaults to round_robin.
	// Multiple LB policies can be specified; clients will iterate through
	// the list in order and stop at the first policy that they support.
	FallbackPolicy []*LoadBalancingConfig `protobuf:"bytes,3,rep,name=fallback_policy,json=fallbackPolicy,proto3" json:"fallback_policy,omitempty"`
	// Optional.  Name to use in EDS query.  If not present, defaults to
	// the server name from the target URI.
	EdsServiceName string `protobuf:"bytes,4,opt,name=eds_service_name,json=edsServiceName,proto3" json:"eds_service_name,omitempty"`
	// LRS server to send load reports to.
	// If not present, load reporting will be disabled.
	// If set to the empty string, load reporting will be sent to the same
	// server that we obtained CDS data from.
	LrsLoadReportingServerName *wrapperspb.StringValue `` /* 145-byte string literal not displayed */
	// contains filtered or unexported fields
}

Configuration for xds LB policy. Deprecated.

func (*XdsConfig) ClearLrsLoadReportingServerName

func (x *XdsConfig) ClearLrsLoadReportingServerName()

func (*XdsConfig) GetBalancerName deprecated

func (x *XdsConfig) GetBalancerName() string

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsConfig) GetChildPolicy

func (x *XdsConfig) GetChildPolicy() []*LoadBalancingConfig

func (*XdsConfig) GetEdsServiceName

func (x *XdsConfig) GetEdsServiceName() string

func (*XdsConfig) GetFallbackPolicy

func (x *XdsConfig) GetFallbackPolicy() []*LoadBalancingConfig

func (*XdsConfig) GetLrsLoadReportingServerName

func (x *XdsConfig) GetLrsLoadReportingServerName() *wrapperspb.StringValue

func (*XdsConfig) HasLrsLoadReportingServerName

func (x *XdsConfig) HasLrsLoadReportingServerName() bool

func (*XdsConfig) ProtoMessage

func (*XdsConfig) ProtoMessage()

func (*XdsConfig) ProtoReflect

func (x *XdsConfig) ProtoReflect() protoreflect.Message

func (*XdsConfig) Reset

func (x *XdsConfig) Reset()

func (*XdsConfig) SetBalancerName deprecated

func (x *XdsConfig) SetBalancerName(v string)

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsConfig) SetChildPolicy

func (x *XdsConfig) SetChildPolicy(v []*LoadBalancingConfig)

func (*XdsConfig) SetEdsServiceName

func (x *XdsConfig) SetEdsServiceName(v string)

func (*XdsConfig) SetFallbackPolicy

func (x *XdsConfig) SetFallbackPolicy(v []*LoadBalancingConfig)

func (*XdsConfig) SetLrsLoadReportingServerName

func (x *XdsConfig) SetLrsLoadReportingServerName(v *wrapperspb.StringValue)

func (*XdsConfig) String

func (x *XdsConfig) String() string

type XdsConfig_builder

type XdsConfig_builder struct {

	// Name of balancer to connect to.
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	BalancerName string
	// Optional.  What LB policy to use for intra-locality routing.
	// If unset, will use whatever algorithm is specified by the balancer.
	// Multiple LB policies can be specified; clients will iterate through
	// the list in order and stop at the first policy that they support.
	ChildPolicy []*LoadBalancingConfig
	// Optional.  What LB policy to use in fallback mode.  If not
	// specified, defaults to round_robin.
	// Multiple LB policies can be specified; clients will iterate through
	// the list in order and stop at the first policy that they support.
	FallbackPolicy []*LoadBalancingConfig
	// Optional.  Name to use in EDS query.  If not present, defaults to
	// the server name from the target URI.
	EdsServiceName string
	// LRS server to send load reports to.
	// If not present, load reporting will be disabled.
	// If set to the empty string, load reporting will be sent to the same
	// server that we obtained CDS data from.
	LrsLoadReportingServerName *wrapperspb.StringValue
	// contains filtered or unexported fields
}

func (XdsConfig_builder) Build

func (b0 XdsConfig_builder) Build() *XdsConfig

type XdsServer

type XdsServer struct {
	ServerUri string `protobuf:"bytes,1,opt,name=server_uri,proto3" json:"server_uri,omitempty"` // Required.
	// A list of channel creds to use.  The first supported type will be used.
	ChannelCreds []*XdsServer_ChannelCredentials `protobuf:"bytes,2,rep,name=channel_creds,proto3" json:"channel_creds,omitempty"`
	// A repeated list of server features.
	ServerFeatures []*structpb.Value `protobuf:"bytes,3,rep,name=server_features,proto3" json:"server_features,omitempty"`
	// contains filtered or unexported fields
}

Represents an xDS server. Deprecated.

func (*XdsServer) GetChannelCreds

func (x *XdsServer) GetChannelCreds() []*XdsServer_ChannelCredentials

func (*XdsServer) GetServerFeatures

func (x *XdsServer) GetServerFeatures() []*structpb.Value

func (*XdsServer) GetServerUri

func (x *XdsServer) GetServerUri() string

func (*XdsServer) ProtoMessage

func (*XdsServer) ProtoMessage()

func (*XdsServer) ProtoReflect

func (x *XdsServer) ProtoReflect() protoreflect.Message

func (*XdsServer) Reset

func (x *XdsServer) Reset()

func (*XdsServer) SetChannelCreds

func (x *XdsServer) SetChannelCreds(v []*XdsServer_ChannelCredentials)

func (*XdsServer) SetServerFeatures

func (x *XdsServer) SetServerFeatures(v []*structpb.Value)

func (*XdsServer) SetServerUri

func (x *XdsServer) SetServerUri(v string)

func (*XdsServer) String

func (x *XdsServer) String() string

type XdsServer_ChannelCredentials

type XdsServer_ChannelCredentials struct {
	Type   string           `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`     // Required.
	Config *structpb.Struct `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` // Optional JSON config.
	// contains filtered or unexported fields
}

func (*XdsServer_ChannelCredentials) ClearConfig

func (x *XdsServer_ChannelCredentials) ClearConfig()

func (*XdsServer_ChannelCredentials) GetConfig

func (*XdsServer_ChannelCredentials) GetType

func (x *XdsServer_ChannelCredentials) GetType() string

func (*XdsServer_ChannelCredentials) HasConfig

func (x *XdsServer_ChannelCredentials) HasConfig() bool

func (*XdsServer_ChannelCredentials) ProtoMessage

func (*XdsServer_ChannelCredentials) ProtoMessage()

func (*XdsServer_ChannelCredentials) ProtoReflect

func (*XdsServer_ChannelCredentials) Reset

func (x *XdsServer_ChannelCredentials) Reset()

func (*XdsServer_ChannelCredentials) SetConfig

func (x *XdsServer_ChannelCredentials) SetConfig(v *structpb.Struct)

func (*XdsServer_ChannelCredentials) SetType

func (x *XdsServer_ChannelCredentials) SetType(v string)

func (*XdsServer_ChannelCredentials) String

type XdsServer_ChannelCredentials_builder

type XdsServer_ChannelCredentials_builder struct {
	Type   string
	Config *structpb.Struct
	// contains filtered or unexported fields
}

func (XdsServer_ChannelCredentials_builder) Build

type XdsServer_builder

type XdsServer_builder struct {
	ServerUri string
	// A list of channel creds to use.  The first supported type will be used.
	ChannelCreds []*XdsServer_ChannelCredentials
	// A repeated list of server features.
	ServerFeatures []*structpb.Value
	// contains filtered or unexported fields
}

func (XdsServer_builder) Build

func (b0 XdsServer_builder) Build() *XdsServer

type XdsWrrLocalityLoadBalancingPolicyConfig

type XdsWrrLocalityLoadBalancingPolicyConfig struct {
	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,1,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// contains filtered or unexported fields
}

Configuration for the xds_wrr_locality load balancing policy.

func (*XdsWrrLocalityLoadBalancingPolicyConfig) GetChildPolicy

func (*XdsWrrLocalityLoadBalancingPolicyConfig) ProtoMessage

func (*XdsWrrLocalityLoadBalancingPolicyConfig) ProtoReflect

func (*XdsWrrLocalityLoadBalancingPolicyConfig) Reset

func (*XdsWrrLocalityLoadBalancingPolicyConfig) SetChildPolicy

func (*XdsWrrLocalityLoadBalancingPolicyConfig) String

type XdsWrrLocalityLoadBalancingPolicyConfig_builder

type XdsWrrLocalityLoadBalancingPolicyConfig_builder struct {
	ChildPolicy []*LoadBalancingConfig
	// contains filtered or unexported fields
}

func (XdsWrrLocalityLoadBalancingPolicyConfig_builder) Build

Source Files

  • service_config.pb.go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL