Movatterモバイル変換


[0]ホーム

URL:


serviceconfig

package
v1.77.0Latest Latest
Warning

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

Go to latest
Published: Nov 17, 2025 License:Apache-2.0Imports:10Imported by:0

Details

Repository

github.com/grpc/grpc-go

Links

Documentation

Overview

Package serviceconfig contains utility functions to parse service config.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

typeBalancerConfig

type BalancerConfig struct {NamestringConfigexternalserviceconfig.LoadBalancingConfig}

BalancerConfig wraps the name and config associated with one load balancingpolicy. It corresponds to a single entry of the loadBalancingConfig fieldfrom ServiceConfig.

It implements the json.Unmarshaler interface.

https://github.com/grpc/grpc-proto/blob/54713b1e8bc6ed2d4f25fb4dff527842150b91b2/grpc/service_config/service_config.proto#L247

func (*BalancerConfig)MarshalJSONadded inv1.38.0

func (bc *BalancerConfig) MarshalJSON() ([]byte,error)

MarshalJSON implements the json.Marshaler interface.

It marshals the balancer and config into a length-1 slice([]map[string]config).

func (*BalancerConfig)UnmarshalJSON

func (bc *BalancerConfig) UnmarshalJSON(b []byte)error

UnmarshalJSON implements the json.Unmarshaler interface.

ServiceConfig contains a list of loadBalancingConfigs, each with a name andconfig. This method iterates through that list in order, and stops at thefirst policy that is supported.

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

typeDurationadded inv1.56.0

type Durationtime.Duration

Duration defines JSON marshal and unmarshal methods to conform to theprotobuf JSON spec definedhere.

func (Duration)MarshalJSONadded inv1.56.0

func (dDuration) MarshalJSON() ([]byte,error)

MarshalJSON converts from d to a JSON string output.

func (Duration)Stringadded inv1.56.0

func (dDuration) String()string

func (*Duration)UnmarshalJSONadded inv1.56.0

func (d *Duration) UnmarshalJSON(b []byte)error

UnmarshalJSON unmarshals b as a duration JSON string into d.

typeMethodConfigadded inv1.34.0

type MethodConfig struct {// WaitForReady indicates whether RPCs sent to this method should wait until// the connection is ready by default (!failfast). The value specified via the// gRPC client API will override the value set here.WaitForReady *bool// Timeout is the default timeout for RPCs sent to this method. 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 RPC has no deadline.Timeout *time.Duration// MaxReqSize is the maximum allowed payload size for an individual request 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.// 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.MaxReqSize *int// MaxRespSize is the maximum allowed payload size for an individual response in a// stream (server->client) in bytes.MaxRespSize *int// RetryPolicy configures retry options for the method.RetryPolicy *RetryPolicy}

MethodConfig defines the configuration recommended by the service providers for aparticular method.

typeRetryPolicyadded inv1.34.0

type RetryPolicy struct {// MaxAttempts is the maximum number of attempts, including the original RPC.//// This field is required and must be two or greater.MaxAttemptsint// Exponential backoff parameters. The initial retry attempt will occur at// random(0, initialBackoff). In general, the nth attempt will occur at// random(0,//   min(initialBackoff*backoffMultiplier**(n-1), maxBackoff)).//// These fields are required and must be greater than zero.InitialBackofftime.DurationMaxBackofftime.DurationBackoffMultiplierfloat64// The set of status codes which may be retried.//// Status codes are specified as strings, e.g., "UNAVAILABLE".//// This field is required and must be non-empty.// Note: a set is used to store this for easy lookup.RetryableStatusCodes map[codes.Code]bool}

RetryPolicy defines the go-native version of the retry policy defined by theservice config here:https://github.com/grpc/proposal/blob/master/A6-client-retries.md#integration-with-service-config

Source Files

View all Source files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f orF : Jump to
y orY : Canonical URL
go.dev uses cookies from Google to deliver and enhance the quality of its services and to analyze traffic.Learn more.

[8]ページ先頭

©2009-2025 Movatter.jp