Documentation

Index

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

func (*CdsConfig) Descriptor() ([]byte, []int)

Deprecated: Use CdsConfig.ProtoReflect.Descriptor instead.

func (*CdsConfig) GetCluster

func (x *CdsConfig) GetCluster() string

func (*CdsConfig) ProtoMessage

func (*CdsConfig) ProtoMessage()

func (*CdsConfig) ProtoReflect

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

func (*CdsConfig) Reset

func (x *CdsConfig) Reset()

func (*CdsConfig) String

func (x *CdsConfig) String() string

type EdsLoadBalancingPolicyConfig

type EdsLoadBalancingPolicyConfig struct {
	Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`

	EdsServiceName string `protobuf:"bytes,2,opt,name=eds_service_name,json=edsServiceName,proto3" json:"eds_service_name,omitempty"`

	LrsLoadReportingServerName *wrappers.StringValue "" /* 145 byte string literal not displayed */

	LocalityPickingPolicy []*LoadBalancingConfig `protobuf:"bytes,4,rep,name=locality_picking_policy,json=localityPickingPolicy,proto3" json:"locality_picking_policy,omitempty"`

	EndpointPickingPolicy []*LoadBalancingConfig `protobuf:"bytes,5,rep,name=endpoint_picking_policy,json=endpointPickingPolicy,proto3" json:"endpoint_picking_policy,omitempty"`

}

Configuration for eds LB policy.

func (*EdsLoadBalancingPolicyConfig) Descriptor

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() *wrappers.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

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

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

func (x *LoadBalancingConfig) GetXds() *XdsConfig

Deprecated: Do not use.

func (*LoadBalancingConfig) GetXdsExperimental

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 {
	ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`

	EdsServiceName string `protobuf:"bytes,2,opt,name=eds_service_name,json=edsServiceName,proto3" json:"eds_service_name,omitempty"`

	LrsLoadReportingServerName string                                 "" /* 145 byte string literal not displayed */
	Locality                   *LrsLoadBalancingPolicyConfig_Locality `protobuf:"bytes,4,opt,name=locality,proto3" json:"locality,omitempty"`

	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,5,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`

}

Configuration for lrs LB policy.

func (*LrsLoadBalancingPolicyConfig) Descriptor

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

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"`

	WaitForReady *wrappers.BoolValue `protobuf:"bytes,2,opt,name=wait_for_ready,json=waitForReady,proto3" json:"wait_for_ready,omitempty"`

	Timeout *duration.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"`

	MaxRequestMessageBytes *wrappers.UInt32Value "" /* 131 byte string literal not displayed */

	MaxResponseMessageBytes *wrappers.UInt32Value "" /* 134 byte string literal not displayed */

	RetryOrHedgingPolicy isMethodConfig_RetryOrHedgingPolicy `protobuf_oneof:"retry_or_hedging_policy"`

}

Configuration for a method.

func (*MethodConfig) Descriptor

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() *wrappers.UInt32Value

func (*MethodConfig) GetMaxResponseMessageBytes

func (x *MethodConfig) GetMaxResponseMessageBytes() *wrappers.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() *duration.Duration

func (*MethodConfig) GetWaitForReady

func (x *MethodConfig) GetWaitForReady() *wrappers.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 {
	MaxAttempts uint32 `protobuf:"varint,1,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"`

	HedgingDelay *duration.Duration `protobuf:"bytes,2,opt,name=hedging_delay,json=hedgingDelay,proto3" json:"hedging_delay,omitempty"`

	NonFatalStatusCodes []code.Code "" /* 151 byte string literal not displayed */

}

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

func (*MethodConfig_HedgingPolicy) Descriptor() ([]byte, []int)

Deprecated: Use MethodConfig_HedgingPolicy.ProtoReflect.Descriptor instead.

func (*MethodConfig_HedgingPolicy) GetHedgingDelay

func (x *MethodConfig_HedgingPolicy) GetHedgingDelay() *duration.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

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 {
	MaxAttempts uint32 `protobuf:"varint,1,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"`

	InitialBackoff *duration.Duration `protobuf:"bytes,2,opt,name=initial_backoff,json=initialBackoff,proto3" json:"initial_backoff,omitempty"`

	MaxBackoff        *duration.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"`

	RetryableStatusCodes []code.Code "" /* 152 byte string literal not displayed */

}

The retry policy for outgoing RPCs.

func (*MethodConfig_RetryPolicy) Descriptor

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() *duration.Duration

func (*MethodConfig_RetryPolicy) GetMaxAttempts

func (x *MethodConfig_RetryPolicy) GetMaxAttempts() uint32

func (*MethodConfig_RetryPolicy) GetMaxBackoff

func (x *MethodConfig_RetryPolicy) GetMaxBackoff() *duration.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

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 */

	Priorities []string `protobuf:"bytes,2,rep,name=priorities,proto3" json:"priorities,omitempty"`

}

Configuration for priority LB policy.

func (*PriorityLoadBalancingPolicyConfig) Descriptor

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

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

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 {
	LoadBalancingPolicy ServiceConfig_LoadBalancingPolicy "" /* 180 byte string literal not displayed */

	LoadBalancingConfig []*LoadBalancingConfig `protobuf:"bytes,4,rep,name=load_balancing_config,json=loadBalancingConfig,proto3" json:"load_balancing_config,omitempty"`

	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"`

}

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

func (*ServiceConfig) Descriptor

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

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 *wrappers.StringValue `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
	// contains filtered or unexported fields
}

func (*ServiceConfig_HealthCheckConfig) Descriptor

func (*ServiceConfig_HealthCheckConfig) Descriptor() ([]byte, []int)

Deprecated: Use ServiceConfig_HealthCheckConfig.ProtoReflect.Descriptor instead.

func (*ServiceConfig_HealthCheckConfig) GetServiceName

func (x *ServiceConfig_HealthCheckConfig) GetServiceName() *wrappers.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

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

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 */

}

Configuration for weighted_target LB policy.

func (*WeightedTargetLoadBalancingPolicyConfig) Descriptor

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

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 {
	BalancerName string `protobuf:"bytes,1,opt,name=balancer_name,json=balancerName,proto3" json:"balancer_name,omitempty"`

	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,2,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`

	FallbackPolicy []*LoadBalancingConfig `protobuf:"bytes,3,rep,name=fallback_policy,json=fallbackPolicy,proto3" json:"fallback_policy,omitempty"`

	EdsServiceName string `protobuf:"bytes,4,opt,name=eds_service_name,json=edsServiceName,proto3" json:"eds_service_name,omitempty"`

	LrsLoadReportingServerName *wrappers.StringValue "" /* 145 byte string literal not displayed */

}

Configuration for xds LB policy.

func (*XdsConfig) Descriptor

func (*XdsConfig) Descriptor() ([]byte, []int)

Deprecated: Use XdsConfig.ProtoReflect.Descriptor instead.

func (*XdsConfig) GetBalancerName

func (x *XdsConfig) GetBalancerName() string

Deprecated: Do not use.

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() *wrappers.StringValue

func (*XdsConfig) ProtoMessage

func (*XdsConfig) ProtoMessage()

func (*XdsConfig) ProtoReflect

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

func (*XdsConfig) Reset

func (x *XdsConfig) Reset()

func (*XdsConfig) String

func (x *XdsConfig) String() string