Documentation
¶
Index ¶
- Variables
- type Client
- type ClientOption
- func ClientInsecure() ClientOption
- func ClientWithAdaptiveConnectionPool(adaptiveConfig connpool.AdaptiveOptions) ClientOption
- func ClientWithCircuitBreaker(cbConfig circuitbreaker.Options) ClientOption
- func ClientWithCompression(algorithm string) ClientOption
- func ClientWithConnectionPool(poolConfig connpool.Options) ClientOption
- func ClientWithKeepalive(params keepalive.ClientParameters) ClientOption
- func ClientWithPickerBuilder(name string, b base.PickerBuilder) ClientOption
- func ClientWithPreconnect(count int) ClientOption
- func ClientWithResolver(registry registry.Registry, timeout time.Duration) ClientOption
- func ClientWithRetry(retryConfig RetryConfig) ClientOption
- func ClientWithStreamConfig(maxStreams uint32, windowSize, connWindowSize int32) ClientOption
- func ClientWithTLS(creds credentials.TransportCredentials) ClientOption
- type ResolverBuilder
- type ResolverOptions
- func ResolverWithCache(ttl time.Duration) ResolverOptions
- func ResolverWithFallback(resolverType string, addrs ...string) ResolverOptions
- func ResolverWithRefreshPeriod(period time.Duration) ResolverOptions
- func ResolverWithRetry(attempts int, delay time.Duration) ResolverOptions
- func ResolverWithTimeout(timeout time.Duration) ResolverOptions
- type RetryConfig
- type Server
- type ServerOption
- func ServerWithConnectionAge(maxAge time.Duration) ServerOption
- func ServerWithConnectionIdle(maxIdle time.Duration) ServerOption
- func ServerWithGracefulStop(graceful bool) ServerOption
- func ServerWithGroup(group string) ServerOption
- func ServerWithRegisterTimeout(d time.Duration) ServerOption
- func ServerWithRegistry(reg registry.Registry) ServerOption
- func ServerWithShutdownTimeout(timeout time.Duration) ServerOption
- func ServerWithStreamConfig(maxStreams uint32, windowSize, connWindowSize int32) ServerOption
- func ServerWithTLS(creds credentials.TransportCredentials) ServerOption
- func ServerWithWeight(weight uint32) ServerOption
Constants ¶
This section is empty.
Variables ¶
var DefaultRetryConfig = RetryConfig{ Enabled: true, MaxAttempts: 3, MaxBackoff: time.Second * 5, BaseBackoff: time.Millisecond * 100, }
DefaultRetryConfig provides sensible default values for RetryConfig.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client represents the configuration for a gRPC client.
func NewClient ¶
func NewClient(opts ...ClientOption) (*Client, error)
NewClient initializes a new gRPC client with the provided options.
type ClientOption ¶
type ClientOption func(c *Client)
ClientOption defines an option for configuring the Client.
func ClientInsecure ¶
func ClientInsecure() ClientOption
ClientInsecure returns a ClientOption that configures the client to use insecure connections.
func ClientWithAdaptiveConnectionPool ¶ added in v0.1.1
func ClientWithAdaptiveConnectionPool(adaptiveConfig connpool.AdaptiveOptions) ClientOption
ClientWithAdaptiveConnectionPool 返回一个开启自适应连接池的ClientOption
func ClientWithCircuitBreaker ¶ added in v0.1.1
func ClientWithCircuitBreaker(cbConfig circuitbreaker.Options) ClientOption
ClientWithCircuitBreaker 返回一个开启断路器的ClientOption
func ClientWithCompression ¶ added in v0.1.1
func ClientWithCompression(algorithm string) ClientOption
ClientWithCompression 返回一个开启压缩的ClientOption
func ClientWithConnectionPool ¶ added in v0.1.1
func ClientWithConnectionPool(poolConfig connpool.Options) ClientOption
ClientWithConnectionPool 返回一个开启连接池的ClientOption
func ClientWithKeepalive ¶ added in v0.1.0
func ClientWithKeepalive(params keepalive.ClientParameters) ClientOption
ClientWithKeepalive returns a ClientOption that configures keepalive parameters.
func ClientWithPickerBuilder ¶
func ClientWithPickerBuilder(name string, b base.PickerBuilder) ClientOption
ClientWithPickerBuilder returns a ClientOption that sets a custom picker builder for load balancing.
func ClientWithPreconnect ¶ added in v0.1.1
func ClientWithPreconnect(count int) ClientOption
ClientWithPreconnect 设置连接池预热连接数
func ClientWithResolver ¶
func ClientWithResolver(registry registry.Registry, timeout time.Duration) ClientOption
ClientWithResolver returns a ClientOption that configures the client to use a specific registry for service resolution.
func ClientWithRetry ¶ added in v0.1.0
func ClientWithRetry(retryConfig RetryConfig) ClientOption
ClientWithRetry returns a ClientOption that configures retry policy.
func ClientWithStreamConfig ¶ added in v0.1.0
func ClientWithStreamConfig(maxStreams uint32, windowSize, connWindowSize int32) ClientOption
ClientWithStreamConfig returns a ClientOption that configures stream related parameters.
func ClientWithTLS ¶ added in v0.1.0
func ClientWithTLS(creds credentials.TransportCredentials) ClientOption
ClientWithTLS returns a ClientOption that configures the client to use TLS credentials.
type ResolverBuilder ¶ added in v0.0.4
type ResolverBuilder struct {
// contains filtered or unexported fields
}
ResolverBuilder constructs a grpcResolver with registry and timeout settings.
func NewResolverBuilder ¶ added in v0.0.4
func NewResolverBuilder(registry registry.Registry, opts ...ResolverOptions) (*ResolverBuilder, error)
NewResolverBuilder creates a new ResolverBuilder and applies any additional options.
func (*ResolverBuilder) Build ¶ added in v0.0.4
func (b *ResolverBuilder) Build(target resolver.Target, clientConn resolver.ClientConn, opts resolver.BuildOptions) (resolver.Resolver, error)
Build constructs a grpcResolver for a given target and client connection with additional resolver build options.
func (*ResolverBuilder) Scheme ¶ added in v0.0.4
func (b *ResolverBuilder) Scheme() string
Scheme returns the scheme this builder is responsible for.
type ResolverOptions ¶ added in v0.0.4
type ResolverOptions func(r *ResolverBuilder)
ResolverOptions defines a functional option for configuring a ResolverBuilder.
func ResolverWithCache ¶ added in v0.1.1
func ResolverWithCache(ttl time.Duration) ResolverOptions
ResolverWithCache 设置缓存选项
func ResolverWithFallback ¶ added in v0.1.1
func ResolverWithFallback(resolverType string, addrs ...string) ResolverOptions
ResolverWithFallback 设置后备解析机制
func ResolverWithRefreshPeriod ¶ added in v0.1.0
func ResolverWithRefreshPeriod(period time.Duration) ResolverOptions
ResolverWithRefreshPeriod 设置服务列表定期刷新间隔
func ResolverWithRetry ¶ added in v0.1.1
func ResolverWithRetry(attempts int, delay time.Duration) ResolverOptions
ResolverWithRetry 设置重试选项
func ResolverWithTimeout ¶ added in v0.0.4
func ResolverWithTimeout(timeout time.Duration) ResolverOptions
ResolverWithTimeout creates a ResolverOptions which sets a custom timeout for a ResolverBuilder.
type RetryConfig ¶ added in v0.1.0
type RetryConfig struct {
Enabled bool
MaxAttempts uint
MaxBackoff time.Duration
BaseBackoff time.Duration
}
RetryConfig defines the configuration for client-side retry.
type Server ¶
Server represents a gRPC server
type ServerOption ¶
type ServerOption func(s *Server)
func ServerWithConnectionAge ¶ added in v0.1.0
func ServerWithConnectionAge(maxAge time.Duration) ServerOption
ServerWithConnectionAge 设置连接最大年龄
func ServerWithConnectionIdle ¶ added in v0.1.0
func ServerWithConnectionIdle(maxIdle time.Duration) ServerOption
ServerWithConnectionIdle 设置连接空闲超时
func ServerWithGracefulStop ¶ added in v0.1.0
func ServerWithGracefulStop(graceful bool) ServerOption
ServerWithGracefulStop 设置是否使用优雅关闭
func ServerWithGroup ¶
func ServerWithGroup(group string) ServerOption
ServerWithGroup sets the group for the server
func ServerWithRegisterTimeout ¶
func ServerWithRegisterTimeout(d time.Duration) ServerOption
ServerWithRegisterTimeout sets the register timeout for the server
func ServerWithRegistry ¶
func ServerWithRegistry(reg registry.Registry) ServerOption
ServerWithRegistry sets the registry for the server
func ServerWithShutdownTimeout ¶ added in v0.1.0
func ServerWithShutdownTimeout(timeout time.Duration) ServerOption
ServerWithShutdownTimeout 设置关闭超时时间
func ServerWithStreamConfig ¶ added in v0.1.0
func ServerWithStreamConfig(maxStreams uint32, windowSize, connWindowSize int32) ServerOption
ServerWithStreamConfig 设置流配置
func ServerWithTLS ¶ added in v0.1.0
func ServerWithTLS(creds credentials.TransportCredentials) ServerOption
ServerWithTLS 设置服务器TLS证书
func ServerWithWeight ¶
func ServerWithWeight(weight uint32) ServerOption
ServerWithWeight sets the weight for the server