Documentation ¶
Index ¶
- Variables
- type CdsConfig
- type EdsLoadBalancingPolicyConfig
- func (*EdsLoadBalancingPolicyConfig) Descriptor() ([]byte, []int)deprecated
- func (x *EdsLoadBalancingPolicyConfig) GetCluster() string
- func (x *EdsLoadBalancingPolicyConfig) GetEdsServiceName() string
- func (x *EdsLoadBalancingPolicyConfig) GetEndpointPickingPolicy() []*LoadBalancingConfig
- func (x *EdsLoadBalancingPolicyConfig) GetLocalityPickingPolicy() []*LoadBalancingConfig
- func (x *EdsLoadBalancingPolicyConfig) GetLrsLoadReportingServerName() *wrapperspb.StringValue
- func (*EdsLoadBalancingPolicyConfig) ProtoMessage()
- func (x *EdsLoadBalancingPolicyConfig) ProtoReflect() protoreflect.Message
- func (x *EdsLoadBalancingPolicyConfig) Reset()
- func (x *EdsLoadBalancingPolicyConfig) String() string
- type GrpcLbConfig
- func (*GrpcLbConfig) Descriptor() ([]byte, []int)deprecated
- func (x *GrpcLbConfig) GetChildPolicy() []*LoadBalancingConfig
- func (x *GrpcLbConfig) GetServiceName() string
- func (*GrpcLbConfig) ProtoMessage()
- func (x *GrpcLbConfig) ProtoReflect() protoreflect.Message
- func (x *GrpcLbConfig) Reset()
- func (x *GrpcLbConfig) String() string
- type LoadBalancingConfig
- func (*LoadBalancingConfig) Descriptor() ([]byte, []int)deprecated
- func (x *LoadBalancingConfig) GetCds() *CdsConfig
- func (x *LoadBalancingConfig) GetEds() *EdsLoadBalancingPolicyConfig
- func (x *LoadBalancingConfig) GetGrpclb() *GrpcLbConfig
- func (x *LoadBalancingConfig) GetLrs() *LrsLoadBalancingPolicyConfig
- func (x *LoadBalancingConfig) GetPickFirst() *PickFirstConfig
- func (m *LoadBalancingConfig) GetPolicy() isLoadBalancingConfig_Policy
- func (x *LoadBalancingConfig) GetPriority() *PriorityLoadBalancingPolicyConfig
- func (x *LoadBalancingConfig) GetRoundRobin() *RoundRobinConfig
- func (x *LoadBalancingConfig) GetWeightedTarget() *WeightedTargetLoadBalancingPolicyConfig
- func (x *LoadBalancingConfig) GetXds() *XdsConfigdeprecated
- func (x *LoadBalancingConfig) GetXdsExperimental() *XdsConfigdeprecated
- func (*LoadBalancingConfig) ProtoMessage()
- func (x *LoadBalancingConfig) ProtoReflect() protoreflect.Message
- func (x *LoadBalancingConfig) Reset()
- func (x *LoadBalancingConfig) String() string
- type LoadBalancingConfig_Cds
- type LoadBalancingConfig_Eds
- type LoadBalancingConfig_Grpclb
- type LoadBalancingConfig_Lrs
- type LoadBalancingConfig_PickFirst
- type LoadBalancingConfig_Priority
- type LoadBalancingConfig_RoundRobin
- type LoadBalancingConfig_WeightedTarget
- type LoadBalancingConfig_Xds
- type LoadBalancingConfig_XdsExperimental
- type LrsLoadBalancingPolicyConfig
- func (*LrsLoadBalancingPolicyConfig) Descriptor() ([]byte, []int)deprecated
- func (x *LrsLoadBalancingPolicyConfig) GetChildPolicy() []*LoadBalancingConfig
- func (x *LrsLoadBalancingPolicyConfig) GetClusterName() string
- func (x *LrsLoadBalancingPolicyConfig) GetEdsServiceName() string
- func (x *LrsLoadBalancingPolicyConfig) GetLocality() *LrsLoadBalancingPolicyConfig_Locality
- func (x *LrsLoadBalancingPolicyConfig) GetLrsLoadReportingServerName() string
- func (*LrsLoadBalancingPolicyConfig) ProtoMessage()
- func (x *LrsLoadBalancingPolicyConfig) ProtoReflect() protoreflect.Message
- func (x *LrsLoadBalancingPolicyConfig) Reset()
- func (x *LrsLoadBalancingPolicyConfig) String() string
- type LrsLoadBalancingPolicyConfig_Locality
- func (*LrsLoadBalancingPolicyConfig_Locality) Descriptor() ([]byte, []int)deprecated
- func (x *LrsLoadBalancingPolicyConfig_Locality) GetRegion() string
- func (x *LrsLoadBalancingPolicyConfig_Locality) GetSubzone() string
- func (x *LrsLoadBalancingPolicyConfig_Locality) GetZone() string
- func (*LrsLoadBalancingPolicyConfig_Locality) ProtoMessage()
- func (x *LrsLoadBalancingPolicyConfig_Locality) ProtoReflect() protoreflect.Message
- func (x *LrsLoadBalancingPolicyConfig_Locality) Reset()
- func (x *LrsLoadBalancingPolicyConfig_Locality) String() string
- type MethodConfig
- func (*MethodConfig) Descriptor() ([]byte, []int)deprecated
- func (x *MethodConfig) GetHedgingPolicy() *MethodConfig_HedgingPolicy
- func (x *MethodConfig) GetMaxRequestMessageBytes() *wrapperspb.UInt32Value
- func (x *MethodConfig) GetMaxResponseMessageBytes() *wrapperspb.UInt32Value
- func (x *MethodConfig) GetName() []*MethodConfig_Name
- func (m *MethodConfig) GetRetryOrHedgingPolicy() isMethodConfig_RetryOrHedgingPolicy
- func (x *MethodConfig) GetRetryPolicy() *MethodConfig_RetryPolicy
- func (x *MethodConfig) GetTimeout() *durationpb.Duration
- func (x *MethodConfig) GetWaitForReady() *wrapperspb.BoolValue
- func (*MethodConfig) ProtoMessage()
- func (x *MethodConfig) ProtoReflect() protoreflect.Message
- func (x *MethodConfig) Reset()
- func (x *MethodConfig) String() string
- type MethodConfig_HedgingPolicy
- func (*MethodConfig_HedgingPolicy) Descriptor() ([]byte, []int)deprecated
- func (x *MethodConfig_HedgingPolicy) GetHedgingDelay() *durationpb.Duration
- func (x *MethodConfig_HedgingPolicy) GetMaxAttempts() uint32
- func (x *MethodConfig_HedgingPolicy) GetNonFatalStatusCodes() []code.Code
- func (*MethodConfig_HedgingPolicy) ProtoMessage()
- func (x *MethodConfig_HedgingPolicy) ProtoReflect() protoreflect.Message
- func (x *MethodConfig_HedgingPolicy) Reset()
- func (x *MethodConfig_HedgingPolicy) String() string
- type MethodConfig_HedgingPolicy_
- type MethodConfig_Name
- func (*MethodConfig_Name) Descriptor() ([]byte, []int)deprecated
- func (x *MethodConfig_Name) GetMethod() string
- func (x *MethodConfig_Name) GetService() string
- func (*MethodConfig_Name) ProtoMessage()
- func (x *MethodConfig_Name) ProtoReflect() protoreflect.Message
- func (x *MethodConfig_Name) Reset()
- func (x *MethodConfig_Name) String() string
- type MethodConfig_RetryPolicy
- func (*MethodConfig_RetryPolicy) Descriptor() ([]byte, []int)deprecated
- func (x *MethodConfig_RetryPolicy) GetBackoffMultiplier() float32
- func (x *MethodConfig_RetryPolicy) GetInitialBackoff() *durationpb.Duration
- func (x *MethodConfig_RetryPolicy) GetMaxAttempts() uint32
- func (x *MethodConfig_RetryPolicy) GetMaxBackoff() *durationpb.Duration
- func (x *MethodConfig_RetryPolicy) GetRetryableStatusCodes() []code.Code
- func (*MethodConfig_RetryPolicy) ProtoMessage()
- func (x *MethodConfig_RetryPolicy) ProtoReflect() protoreflect.Message
- func (x *MethodConfig_RetryPolicy) Reset()
- func (x *MethodConfig_RetryPolicy) String() string
- type MethodConfig_RetryPolicy_
- type PickFirstConfig
- type PriorityLoadBalancingPolicyConfig
- func (*PriorityLoadBalancingPolicyConfig) Descriptor() ([]byte, []int)deprecated
- func (x *PriorityLoadBalancingPolicyConfig) GetChildren() map[string]*PriorityLoadBalancingPolicyConfig_Child
- func (x *PriorityLoadBalancingPolicyConfig) GetPriorities() []string
- func (*PriorityLoadBalancingPolicyConfig) ProtoMessage()
- func (x *PriorityLoadBalancingPolicyConfig) ProtoReflect() protoreflect.Message
- func (x *PriorityLoadBalancingPolicyConfig) Reset()
- func (x *PriorityLoadBalancingPolicyConfig) String() string
- type PriorityLoadBalancingPolicyConfig_Child
- func (*PriorityLoadBalancingPolicyConfig_Child) Descriptor() ([]byte, []int)deprecated
- func (x *PriorityLoadBalancingPolicyConfig_Child) GetConfig() []*LoadBalancingConfig
- func (*PriorityLoadBalancingPolicyConfig_Child) ProtoMessage()
- func (x *PriorityLoadBalancingPolicyConfig_Child) ProtoReflect() protoreflect.Message
- func (x *PriorityLoadBalancingPolicyConfig_Child) Reset()
- func (x *PriorityLoadBalancingPolicyConfig_Child) String() string
- type RoundRobinConfig
- type ServiceConfig
- func (*ServiceConfig) Descriptor() ([]byte, []int)deprecated
- func (x *ServiceConfig) GetHealthCheckConfig() *ServiceConfig_HealthCheckConfig
- func (x *ServiceConfig) GetLoadBalancingConfig() []*LoadBalancingConfig
- func (x *ServiceConfig) GetLoadBalancingPolicy() ServiceConfig_LoadBalancingPolicydeprecated
- func (x *ServiceConfig) GetMethodConfig() []*MethodConfig
- func (x *ServiceConfig) GetRetryThrottling() *ServiceConfig_RetryThrottlingPolicy
- func (*ServiceConfig) ProtoMessage()
- func (x *ServiceConfig) ProtoReflect() protoreflect.Message
- func (x *ServiceConfig) Reset()
- func (x *ServiceConfig) String() string
- type ServiceConfig_HealthCheckConfig
- func (*ServiceConfig_HealthCheckConfig) Descriptor() ([]byte, []int)deprecated
- func (x *ServiceConfig_HealthCheckConfig) GetServiceName() *wrapperspb.StringValue
- func (*ServiceConfig_HealthCheckConfig) ProtoMessage()
- func (x *ServiceConfig_HealthCheckConfig) ProtoReflect() protoreflect.Message
- func (x *ServiceConfig_HealthCheckConfig) Reset()
- func (x *ServiceConfig_HealthCheckConfig) String() string
- type ServiceConfig_LoadBalancingPolicy
- func (ServiceConfig_LoadBalancingPolicy) Descriptor() protoreflect.EnumDescriptor
- func (x ServiceConfig_LoadBalancingPolicy) Enum() *ServiceConfig_LoadBalancingPolicy
- func (ServiceConfig_LoadBalancingPolicy) EnumDescriptor() ([]byte, []int)deprecated
- func (x ServiceConfig_LoadBalancingPolicy) Number() protoreflect.EnumNumber
- func (x ServiceConfig_LoadBalancingPolicy) String() string
- func (ServiceConfig_LoadBalancingPolicy) Type() protoreflect.EnumType
- type ServiceConfig_RetryThrottlingPolicy
- func (*ServiceConfig_RetryThrottlingPolicy) Descriptor() ([]byte, []int)deprecated
- func (x *ServiceConfig_RetryThrottlingPolicy) GetMaxTokens() uint32
- func (x *ServiceConfig_RetryThrottlingPolicy) GetTokenRatio() float32
- func (*ServiceConfig_RetryThrottlingPolicy) ProtoMessage()
- func (x *ServiceConfig_RetryThrottlingPolicy) ProtoReflect() protoreflect.Message
- func (x *ServiceConfig_RetryThrottlingPolicy) Reset()
- func (x *ServiceConfig_RetryThrottlingPolicy) String() string
- type WeightedTargetLoadBalancingPolicyConfig
- func (*WeightedTargetLoadBalancingPolicyConfig) Descriptor() ([]byte, []int)deprecated
- func (x *WeightedTargetLoadBalancingPolicyConfig) GetTargets() map[string]*WeightedTargetLoadBalancingPolicyConfig_Target
- func (*WeightedTargetLoadBalancingPolicyConfig) ProtoMessage()
- func (x *WeightedTargetLoadBalancingPolicyConfig) ProtoReflect() protoreflect.Message
- func (x *WeightedTargetLoadBalancingPolicyConfig) Reset()
- func (x *WeightedTargetLoadBalancingPolicyConfig) String() string
- type WeightedTargetLoadBalancingPolicyConfig_Target
- func (*WeightedTargetLoadBalancingPolicyConfig_Target) Descriptor() ([]byte, []int)deprecated
- func (x *WeightedTargetLoadBalancingPolicyConfig_Target) GetChildPolicy() []*LoadBalancingConfig
- func (x *WeightedTargetLoadBalancingPolicyConfig_Target) GetWeight() uint32
- func (*WeightedTargetLoadBalancingPolicyConfig_Target) ProtoMessage()
- func (x *WeightedTargetLoadBalancingPolicyConfig_Target) ProtoReflect() protoreflect.Message
- func (x *WeightedTargetLoadBalancingPolicyConfig_Target) Reset()
- func (x *WeightedTargetLoadBalancingPolicyConfig_Target) String() string
- type XdsConfig
- func (*XdsConfig) Descriptor() ([]byte, []int)deprecated
- func (x *XdsConfig) GetBalancerName() stringdeprecated
- func (x *XdsConfig) GetChildPolicy() []*LoadBalancingConfig
- func (x *XdsConfig) GetEdsServiceName() string
- func (x *XdsConfig) GetFallbackPolicy() []*LoadBalancingConfig
- func (x *XdsConfig) GetLrsLoadReportingServerName() *wrapperspb.StringValue
- func (*XdsConfig) ProtoMessage()
- func (x *XdsConfig) ProtoReflect() protoreflect.Message
- func (x *XdsConfig) Reset()
- func (x *XdsConfig) String() string
Constants ¶
This section is empty.
Variables ¶
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.
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. // contains filtered or unexported fields }
Configuration for the cds LB policy.
func (*CdsConfig) Descriptor
deprecated
func (*CdsConfig) GetCluster ¶
func (*CdsConfig) ProtoMessage ¶
func (*CdsConfig) ProtoMessage()
func (*CdsConfig) ProtoReflect ¶
func (x *CdsConfig) ProtoReflect() protoreflect.Message
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.
func (*EdsLoadBalancingPolicyConfig) Descriptor
deprecated
func (*EdsLoadBalancingPolicyConfig) Descriptor() ([]byte, []int)
Deprecated: Use EdsLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.
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) ProtoMessage ¶
func (*EdsLoadBalancingPolicyConfig) ProtoMessage()
func (*EdsLoadBalancingPolicyConfig) ProtoReflect ¶
func (x *EdsLoadBalancingPolicyConfig) ProtoReflect() protoreflect.Message
func (*EdsLoadBalancingPolicyConfig) Reset ¶
func (x *EdsLoadBalancingPolicyConfig) Reset()
func (*EdsLoadBalancingPolicyConfig) String ¶
func (x *EdsLoadBalancingPolicyConfig) String() string
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"` // contains filtered or unexported fields }
Configuration for grpclb LB policy.
func (*GrpcLbConfig) Descriptor
deprecated
func (*GrpcLbConfig) Descriptor() ([]byte, []int)
Deprecated: Use GrpcLbConfig.ProtoReflect.Descriptor instead.
func (*GrpcLbConfig) GetChildPolicy ¶
func (x *GrpcLbConfig) GetChildPolicy() []*LoadBalancingConfig
func (*GrpcLbConfig) GetServiceName ¶
func (x *GrpcLbConfig) GetServiceName() string
func (*GrpcLbConfig) ProtoMessage ¶
func (*GrpcLbConfig) ProtoMessage()
func (*GrpcLbConfig) ProtoReflect ¶
func (x *GrpcLbConfig) ProtoReflect() protoreflect.Message
func (*GrpcLbConfig) Reset ¶
func (x *GrpcLbConfig) Reset()
func (*GrpcLbConfig) String ¶
func (x *GrpcLbConfig) String() string
type LoadBalancingConfig ¶
type LoadBalancingConfig struct { // Exactly one LB policy may be configured. // // Types that are assignable to Policy: // *LoadBalancingConfig_PickFirst // *LoadBalancingConfig_RoundRobin // *LoadBalancingConfig_Grpclb // *LoadBalancingConfig_Priority // *LoadBalancingConfig_WeightedTarget // *LoadBalancingConfig_Cds // *LoadBalancingConfig_Eds // *LoadBalancingConfig_Lrs // *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) Descriptor
deprecated
func (*LoadBalancingConfig) Descriptor() ([]byte, []int)
Deprecated: Use LoadBalancingConfig.ProtoReflect.Descriptor instead.
func (*LoadBalancingConfig) GetCds ¶
func (x *LoadBalancingConfig) GetCds() *CdsConfig
func (*LoadBalancingConfig) GetEds ¶
func (x *LoadBalancingConfig) GetEds() *EdsLoadBalancingPolicyConfig
func (*LoadBalancingConfig) GetGrpclb ¶
func (x *LoadBalancingConfig) GetGrpclb() *GrpcLbConfig
func (*LoadBalancingConfig) GetLrs ¶
func (x *LoadBalancingConfig) GetLrs() *LrsLoadBalancingPolicyConfig
func (*LoadBalancingConfig) GetPickFirst ¶
func (x *LoadBalancingConfig) GetPickFirst() *PickFirstConfig
func (*LoadBalancingConfig) GetPolicy ¶
func (m *LoadBalancingConfig) GetPolicy() isLoadBalancingConfig_Policy
func (*LoadBalancingConfig) GetPriority ¶
func (x *LoadBalancingConfig) GetPriority() *PriorityLoadBalancingPolicyConfig
func (*LoadBalancingConfig) GetRoundRobin ¶
func (x *LoadBalancingConfig) GetRoundRobin() *RoundRobinConfig
func (*LoadBalancingConfig) GetWeightedTarget ¶
func (x *LoadBalancingConfig) GetWeightedTarget() *WeightedTargetLoadBalancingPolicyConfig
func (*LoadBalancingConfig) GetXds
deprecated
func (x *LoadBalancingConfig) GetXds() *XdsConfig
Deprecated: Do not use.
func (*LoadBalancingConfig) GetXdsExperimental
deprecated
func (x *LoadBalancingConfig) GetXdsExperimental() *XdsConfig
Deprecated: Do not use.
func (*LoadBalancingConfig) ProtoMessage ¶
func (*LoadBalancingConfig) ProtoMessage()
func (*LoadBalancingConfig) ProtoReflect ¶
func (x *LoadBalancingConfig) ProtoReflect() protoreflect.Message
func (*LoadBalancingConfig) Reset ¶
func (x *LoadBalancingConfig) Reset()
func (*LoadBalancingConfig) String ¶
func (x *LoadBalancingConfig) String() string
type LoadBalancingConfig_Cds ¶
type LoadBalancingConfig_Cds struct { // EXPERIMENTAL -- DO NOT USE // xDS-based load balancing. // The policy is known as xds_experimental while it is under development. // It will be renamed to xds once it is ready for public use. Cds *CdsConfig `protobuf:"bytes,6,opt,name=cds,proto3,oneof"` }
type LoadBalancingConfig_Eds ¶
type LoadBalancingConfig_Eds struct {
Eds *EdsLoadBalancingPolicyConfig `protobuf:"bytes,7,opt,name=eds,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_Lrs ¶
type LoadBalancingConfig_Lrs struct {
Lrs *LrsLoadBalancingPolicyConfig `protobuf:"bytes,8,opt,name=lrs,proto3,oneof"`
}
type LoadBalancingConfig_PickFirst ¶
type LoadBalancingConfig_PickFirst struct {
PickFirst *PickFirstConfig `protobuf:"bytes,4,opt,name=pick_first,proto3,oneof"`
}
type LoadBalancingConfig_Priority ¶
type LoadBalancingConfig_Priority struct {
Priority *PriorityLoadBalancingPolicyConfig `protobuf:"bytes,9,opt,name=priority,proto3,oneof"`
}
type LoadBalancingConfig_RoundRobin ¶
type LoadBalancingConfig_RoundRobin struct {
RoundRobin *RoundRobinConfig `protobuf:"bytes,1,opt,name=round_robin,proto3,oneof"`
}
type LoadBalancingConfig_WeightedTarget ¶
type LoadBalancingConfig_WeightedTarget struct {
WeightedTarget *WeightedTargetLoadBalancingPolicyConfig `protobuf:"bytes,10,opt,name=weighted_target,json=weightedTarget,proto3,oneof"`
}
type LoadBalancingConfig_Xds ¶
type LoadBalancingConfig_Xds struct { // Deprecated: Do not use. Xds *XdsConfig `protobuf:"bytes,2,opt,name=xds,proto3,oneof"` }
type LoadBalancingConfig_XdsExperimental ¶
type LoadBalancingConfig_XdsExperimental struct { // TODO(rekarthik): Deprecate this field after the xds policy // is ready for public use. // // Deprecated: Do not use. XdsExperimental *XdsConfig `protobuf:"bytes,5,opt,name=xds_experimental,proto3,oneof"` }
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.
func (*LrsLoadBalancingPolicyConfig) Descriptor
deprecated
func (*LrsLoadBalancingPolicyConfig) Descriptor() ([]byte, []int)
Deprecated: Use LrsLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.
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 (x *LrsLoadBalancingPolicyConfig) GetLocality() *LrsLoadBalancingPolicyConfig_Locality
func (*LrsLoadBalancingPolicyConfig) GetLrsLoadReportingServerName ¶
func (x *LrsLoadBalancingPolicyConfig) GetLrsLoadReportingServerName() string
func (*LrsLoadBalancingPolicyConfig) ProtoMessage ¶
func (*LrsLoadBalancingPolicyConfig) ProtoMessage()
func (*LrsLoadBalancingPolicyConfig) ProtoReflect ¶
func (x *LrsLoadBalancingPolicyConfig) ProtoReflect() protoreflect.Message
func (*LrsLoadBalancingPolicyConfig) Reset ¶
func (x *LrsLoadBalancingPolicyConfig) Reset()
func (*LrsLoadBalancingPolicyConfig) String ¶
func (x *LrsLoadBalancingPolicyConfig) String() 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) Descriptor
deprecated
func (*LrsLoadBalancingPolicyConfig_Locality) Descriptor() ([]byte, []int)
Deprecated: Use LrsLoadBalancingPolicyConfig_Locality.ProtoReflect.Descriptor instead.
func (*LrsLoadBalancingPolicyConfig_Locality) GetRegion ¶
func (x *LrsLoadBalancingPolicyConfig_Locality) GetRegion() string
func (*LrsLoadBalancingPolicyConfig_Locality) GetSubzone ¶
func (x *LrsLoadBalancingPolicyConfig_Locality) GetSubzone() string
func (*LrsLoadBalancingPolicyConfig_Locality) GetZone ¶
func (x *LrsLoadBalancingPolicyConfig_Locality) GetZone() string
func (*LrsLoadBalancingPolicyConfig_Locality) ProtoMessage ¶
func (*LrsLoadBalancingPolicyConfig_Locality) ProtoMessage()
func (*LrsLoadBalancingPolicyConfig_Locality) ProtoReflect ¶
func (x *LrsLoadBalancingPolicyConfig_Locality) ProtoReflect() protoreflect.Message
func (*LrsLoadBalancingPolicyConfig_Locality) Reset ¶
func (x *LrsLoadBalancingPolicyConfig_Locality) Reset()
func (*LrsLoadBalancingPolicyConfig_Locality) String ¶
func (x *LrsLoadBalancingPolicyConfig_Locality) String() string
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 assignable 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) Descriptor
deprecated
func (*MethodConfig) Descriptor() ([]byte, []int)
Deprecated: Use MethodConfig.ProtoReflect.Descriptor instead.
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 (m *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) ProtoMessage ¶
func (*MethodConfig) ProtoMessage()
func (*MethodConfig) ProtoReflect ¶
func (x *MethodConfig) ProtoReflect() protoreflect.Message
func (*MethodConfig) Reset ¶
func (x *MethodConfig) Reset()
func (*MethodConfig) String ¶
func (x *MethodConfig) String() string
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) Descriptor
deprecated
func (*MethodConfig_HedgingPolicy) Descriptor() ([]byte, []int)
Deprecated: Use MethodConfig_HedgingPolicy.ProtoReflect.Descriptor instead.
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) ProtoMessage ¶
func (*MethodConfig_HedgingPolicy) ProtoMessage()
func (*MethodConfig_HedgingPolicy) ProtoReflect ¶
func (x *MethodConfig_HedgingPolicy) ProtoReflect() protoreflect.Message
func (*MethodConfig_HedgingPolicy) Reset ¶
func (x *MethodConfig_HedgingPolicy) Reset()
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_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) Descriptor
deprecated
func (*MethodConfig_Name) Descriptor() ([]byte, []int)
Deprecated: Use MethodConfig_Name.ProtoReflect.Descriptor instead.
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) String ¶
func (x *MethodConfig_Name) String() string
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) Descriptor
deprecated
func (*MethodConfig_RetryPolicy) Descriptor() ([]byte, []int)
Deprecated: Use MethodConfig_RetryPolicy.ProtoReflect.Descriptor instead.
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) 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) 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 PickFirstConfig ¶
type PickFirstConfig struct {
// contains filtered or unexported fields
}
Configuration for pick_first LB policy.
func (*PickFirstConfig) Descriptor
deprecated
func (*PickFirstConfig) Descriptor() ([]byte, []int)
Deprecated: Use PickFirstConfig.ProtoReflect.Descriptor instead.
func (*PickFirstConfig) ProtoMessage ¶
func (*PickFirstConfig) ProtoMessage()
func (*PickFirstConfig) ProtoReflect ¶
func (x *PickFirstConfig) ProtoReflect() protoreflect.Message
func (*PickFirstConfig) Reset ¶
func (x *PickFirstConfig) Reset()
func (*PickFirstConfig) String ¶
func (x *PickFirstConfig) String() string
type PriorityLoadBalancingPolicyConfig ¶
type PriorityLoadBalancingPolicyConfig struct { Children map[string]*PriorityLoadBalancingPolicyConfig_Child `` /* 157-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) Descriptor
deprecated
func (*PriorityLoadBalancingPolicyConfig) Descriptor() ([]byte, []int)
Deprecated: Use PriorityLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.
func (*PriorityLoadBalancingPolicyConfig) GetChildren ¶
func (x *PriorityLoadBalancingPolicyConfig) GetChildren() map[string]*PriorityLoadBalancingPolicyConfig_Child
func (*PriorityLoadBalancingPolicyConfig) GetPriorities ¶
func (x *PriorityLoadBalancingPolicyConfig) GetPriorities() []string
func (*PriorityLoadBalancingPolicyConfig) ProtoMessage ¶
func (*PriorityLoadBalancingPolicyConfig) ProtoMessage()
func (*PriorityLoadBalancingPolicyConfig) ProtoReflect ¶
func (x *PriorityLoadBalancingPolicyConfig) ProtoReflect() protoreflect.Message
func (*PriorityLoadBalancingPolicyConfig) Reset ¶
func (x *PriorityLoadBalancingPolicyConfig) Reset()
func (*PriorityLoadBalancingPolicyConfig) String ¶
func (x *PriorityLoadBalancingPolicyConfig) String() string
type PriorityLoadBalancingPolicyConfig_Child ¶
type PriorityLoadBalancingPolicyConfig_Child struct { Config []*LoadBalancingConfig `protobuf:"bytes,1,rep,name=config,proto3" json:"config,omitempty"` // 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) Descriptor
deprecated
func (*PriorityLoadBalancingPolicyConfig_Child) Descriptor() ([]byte, []int)
Deprecated: Use PriorityLoadBalancingPolicyConfig_Child.ProtoReflect.Descriptor instead.
func (*PriorityLoadBalancingPolicyConfig_Child) GetConfig ¶
func (x *PriorityLoadBalancingPolicyConfig_Child) GetConfig() []*LoadBalancingConfig
func (*PriorityLoadBalancingPolicyConfig_Child) ProtoMessage ¶
func (*PriorityLoadBalancingPolicyConfig_Child) ProtoMessage()
func (*PriorityLoadBalancingPolicyConfig_Child) ProtoReflect ¶
func (x *PriorityLoadBalancingPolicyConfig_Child) ProtoReflect() protoreflect.Message
func (*PriorityLoadBalancingPolicyConfig_Child) Reset ¶
func (x *PriorityLoadBalancingPolicyConfig_Child) Reset()
func (*PriorityLoadBalancingPolicyConfig_Child) String ¶
func (x *PriorityLoadBalancingPolicyConfig_Child) String() string
type RoundRobinConfig ¶
type RoundRobinConfig struct {
// contains filtered or unexported fields
}
Configuration for round_robin LB policy.
func (*RoundRobinConfig) Descriptor
deprecated
func (*RoundRobinConfig) Descriptor() ([]byte, []int)
Deprecated: Use RoundRobinConfig.ProtoReflect.Descriptor instead.
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 ServiceConfig ¶
type ServiceConfig struct { // Deprecated: Do not use. 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"` // contains filtered or unexported fields }
A ServiceConfig represents information about a service but is not specific to any name resolver.
func (*ServiceConfig) Descriptor
deprecated
func (*ServiceConfig) Descriptor() ([]byte, []int)
Deprecated: Use ServiceConfig.ProtoReflect.Descriptor instead.
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: Do not use.
func (*ServiceConfig) GetMethodConfig ¶
func (x *ServiceConfig) GetMethodConfig() []*MethodConfig
func (*ServiceConfig) GetRetryThrottling ¶
func (x *ServiceConfig) GetRetryThrottling() *ServiceConfig_RetryThrottlingPolicy
func (*ServiceConfig) ProtoMessage ¶
func (*ServiceConfig) ProtoMessage()
func (*ServiceConfig) ProtoReflect ¶
func (x *ServiceConfig) ProtoReflect() protoreflect.Message
func (*ServiceConfig) Reset ¶
func (x *ServiceConfig) Reset()
func (*ServiceConfig) String ¶
func (x *ServiceConfig) String() string
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) Descriptor
deprecated
func (*ServiceConfig_HealthCheckConfig) Descriptor() ([]byte, []int)
Deprecated: Use ServiceConfig_HealthCheckConfig.ProtoReflect.Descriptor instead.
func (*ServiceConfig_HealthCheckConfig) GetServiceName ¶
func (x *ServiceConfig_HealthCheckConfig) GetServiceName() *wrapperspb.StringValue
func (*ServiceConfig_HealthCheckConfig) ProtoMessage ¶
func (*ServiceConfig_HealthCheckConfig) ProtoMessage()
func (*ServiceConfig_HealthCheckConfig) ProtoReflect ¶
func (x *ServiceConfig_HealthCheckConfig) ProtoReflect() protoreflect.Message
func (*ServiceConfig_HealthCheckConfig) Reset ¶
func (x *ServiceConfig_HealthCheckConfig) Reset()
func (*ServiceConfig_HealthCheckConfig) String ¶
func (x *ServiceConfig_HealthCheckConfig) String() string
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) Descriptor() protoreflect.EnumDescriptor
func (ServiceConfig_LoadBalancingPolicy) Enum ¶
func (x ServiceConfig_LoadBalancingPolicy) Enum() *ServiceConfig_LoadBalancingPolicy
func (ServiceConfig_LoadBalancingPolicy) EnumDescriptor
deprecated
func (ServiceConfig_LoadBalancingPolicy) EnumDescriptor() ([]byte, []int)
Deprecated: Use ServiceConfig_LoadBalancingPolicy.Descriptor instead.
func (ServiceConfig_LoadBalancingPolicy) Number ¶
func (x ServiceConfig_LoadBalancingPolicy) Number() protoreflect.EnumNumber
func (ServiceConfig_LoadBalancingPolicy) String ¶
func (x ServiceConfig_LoadBalancingPolicy) String() string
func (ServiceConfig_LoadBalancingPolicy) Type ¶
func (ServiceConfig_LoadBalancingPolicy) Type() protoreflect.EnumType
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) Descriptor
deprecated
func (*ServiceConfig_RetryThrottlingPolicy) Descriptor() ([]byte, []int)
Deprecated: Use ServiceConfig_RetryThrottlingPolicy.ProtoReflect.Descriptor instead.
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 (x *ServiceConfig_RetryThrottlingPolicy) ProtoReflect() protoreflect.Message
func (*ServiceConfig_RetryThrottlingPolicy) Reset ¶
func (x *ServiceConfig_RetryThrottlingPolicy) Reset()
func (*ServiceConfig_RetryThrottlingPolicy) String ¶
func (x *ServiceConfig_RetryThrottlingPolicy) String() string
type WeightedTargetLoadBalancingPolicyConfig ¶
type WeightedTargetLoadBalancingPolicyConfig struct { Targets map[string]*WeightedTargetLoadBalancingPolicyConfig_Target `` /* 155-byte string literal not displayed */ // contains filtered or unexported fields }
Configuration for weighted_target LB policy.
func (*WeightedTargetLoadBalancingPolicyConfig) Descriptor
deprecated
func (*WeightedTargetLoadBalancingPolicyConfig) Descriptor() ([]byte, []int)
Deprecated: Use WeightedTargetLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.
func (*WeightedTargetLoadBalancingPolicyConfig) GetTargets ¶
func (x *WeightedTargetLoadBalancingPolicyConfig) GetTargets() map[string]*WeightedTargetLoadBalancingPolicyConfig_Target
func (*WeightedTargetLoadBalancingPolicyConfig) ProtoMessage ¶
func (*WeightedTargetLoadBalancingPolicyConfig) ProtoMessage()
func (*WeightedTargetLoadBalancingPolicyConfig) ProtoReflect ¶
func (x *WeightedTargetLoadBalancingPolicyConfig) ProtoReflect() protoreflect.Message
func (*WeightedTargetLoadBalancingPolicyConfig) Reset ¶
func (x *WeightedTargetLoadBalancingPolicyConfig) Reset()
func (*WeightedTargetLoadBalancingPolicyConfig) String ¶
func (x *WeightedTargetLoadBalancingPolicyConfig) String() 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) Descriptor
deprecated
func (*WeightedTargetLoadBalancingPolicyConfig_Target) Descriptor() ([]byte, []int)
Deprecated: Use WeightedTargetLoadBalancingPolicyConfig_Target.ProtoReflect.Descriptor instead.
func (*WeightedTargetLoadBalancingPolicyConfig_Target) GetChildPolicy ¶
func (x *WeightedTargetLoadBalancingPolicyConfig_Target) GetChildPolicy() []*LoadBalancingConfig
func (*WeightedTargetLoadBalancingPolicyConfig_Target) GetWeight ¶
func (x *WeightedTargetLoadBalancingPolicyConfig_Target) GetWeight() uint32
func (*WeightedTargetLoadBalancingPolicyConfig_Target) ProtoMessage ¶
func (*WeightedTargetLoadBalancingPolicyConfig_Target) ProtoMessage()
func (*WeightedTargetLoadBalancingPolicyConfig_Target) ProtoReflect ¶
func (x *WeightedTargetLoadBalancingPolicyConfig_Target) ProtoReflect() protoreflect.Message
func (*WeightedTargetLoadBalancingPolicyConfig_Target) Reset ¶
func (x *WeightedTargetLoadBalancingPolicyConfig_Target) Reset()
func (*WeightedTargetLoadBalancingPolicyConfig_Target) String ¶
func (x *WeightedTargetLoadBalancingPolicyConfig_Target) String() string
type XdsConfig ¶
type XdsConfig struct { // Name of balancer to connect to. // // Deprecated: Do not use. 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.
func (*XdsConfig) Descriptor
deprecated
func (*XdsConfig) GetBalancerName
deprecated
func (*XdsConfig) GetChildPolicy ¶
func (x *XdsConfig) GetChildPolicy() []*LoadBalancingConfig
func (*XdsConfig) GetEdsServiceName ¶
func (*XdsConfig) GetFallbackPolicy ¶
func (x *XdsConfig) GetFallbackPolicy() []*LoadBalancingConfig
func (*XdsConfig) GetLrsLoadReportingServerName ¶
func (x *XdsConfig) GetLrsLoadReportingServerName() *wrapperspb.StringValue
func (*XdsConfig) ProtoMessage ¶
func (*XdsConfig) ProtoMessage()
func (*XdsConfig) ProtoReflect ¶
func (x *XdsConfig) ProtoReflect() protoreflect.Message