Documentation
¶
Overview ¶
Package client defines the Options of client
Package client defines the Options about remote transport of client.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConfigLocks ¶
ConfigLocks records changing made by options that are not allowed further modifications.
func (*ConfigLocks) ApplyLocks ¶
func (cl *ConfigLocks) ApplyLocks(cfg rpcinfo.MutableRPCConfig, svr remoteinfo.RemoteInfo)
ApplyLocks applies the locking operations on rpcinfo.RPCConfig and internal.RemoteInfo.
func (*ConfigLocks) Merge ¶
func (cl *ConfigLocks) Merge(c2 *ConfigLocks)
Merge merges another ConfigLocks into the current one.
type Options ¶
type Options struct {
Cli *rpcinfo.EndpointBasicInfo
Svr *rpcinfo.EndpointBasicInfo
Configs rpcinfo.RPCConfig
Locks *ConfigLocks
Once *configutil.OptionOnce
UnaryOptions UnaryOptions
StreamOptions StreamOptions
MetaHandlers []remote.MetaHandler
RemoteOpt *remote.ClientOption
Proxy proxy.ForwardProxy
Resolver discovery.Resolver
HTTPResolver http.Resolver
Balancer loadbalance.Loadbalancer
BalancerCacheOpt *lbcache.Options
PoolCfg *connpool2.IdleConfig
ErrHandle func(context.Context, error) error
Targets string
CBSuite *circuitbreak.CBSuite
Timeouts rpcinfo.TimeoutProvider
ACLRules []acl.RejectFunc
MWBs []endpoint.MiddlewareBuilder
IMWBs []endpoint.MiddlewareBuilder
Bus event.Bus
Events event.Queue
ExtraTimeout time.Duration
// DebugInfo should only contain objects that are suitable for json serialization.
DebugInfo utils.Slice
DebugService diagnosis.Service
// Observability
TracerCtl *rpcinfo.TraceController
StatsLevel *stats.Level
CloseCallbacks []func() error
WarmUpOption *warmup.ClientOption
// GRPC
GRPCConnPoolSize uint32
GRPCConnectOpts *grpc.ConnectOptions
// TTHeaderStreaming
TTHeaderStreamingOptions TTHeaderStreamingOptions
// XDS
XDSEnabled bool
XDSRouterMiddleware endpoint.Middleware
// Context backup
CtxBackupHandler backup.BackupHandler
Streaming stream.StreamingConfig // deprecated, use StreamOptions instead
// TailOptions is used to store options that are executed after all options are applied.
// just ignore it unless you clearly know what you are doing.
TailOptions []Option
}
Options is used to initialize a client.
func (*Options) InitRetryContainer ¶ added in v0.9.0
func (o *Options) InitRetryContainer()
InitRetryContainer init retry container and add close callback
type StreamOption ¶ added in v0.13.0
type StreamOption struct {
F func(o *StreamOptions, di *utils.Slice)
}
type StreamOptions ¶ added in v0.13.0
type StreamOptions struct {
EventHandler stream.StreamEventHandler
RecvTimeout time.Duration
StreamMiddlewares []cep.StreamMiddleware
StreamMiddlewareBuilders []cep.StreamMiddlewareBuilder
StreamRecvMiddlewares []cep.StreamRecvMiddleware
StreamRecvMiddlewareBuilders []cep.StreamRecvMiddlewareBuilder
StreamSendMiddlewares []cep.StreamSendMiddleware
StreamSendMiddlewareBuilders []cep.StreamSendMiddlewareBuilder
}
func (*StreamOptions) BuildRecvChain ¶ added in v0.13.0
func (o *StreamOptions) BuildRecvChain(recvEndpoint cep.StreamRecvEndpoint) cep.StreamRecvEndpoint
func (*StreamOptions) BuildSendChain ¶ added in v0.13.0
func (o *StreamOptions) BuildSendChain(sendEndpoint cep.StreamSendEndpoint) cep.StreamSendEndpoint
func (*StreamOptions) InitMiddlewares ¶ added in v0.13.0
func (o *StreamOptions) InitMiddlewares(ctx context.Context)
type TTHeaderStreamingOption ¶ added in v0.13.0
type TTHeaderStreamingOption struct {
F func(o *TTHeaderStreamingOptions, di *utils.Slice)
}
type TTHeaderStreamingOptions ¶ added in v0.13.0
type TTHeaderStreamingOptions struct {
TransportOptions []ttstream.ClientHandlerOption
}
type UnaryOption ¶ added in v0.13.0
type UnaryOption struct {
F func(o *UnaryOptions, di *utils.Slice)
}
type UnaryOptions ¶ added in v0.13.0
type UnaryOptions struct {
// middlewares
UnaryMiddlewares []endpoint.UnaryMiddleware
UnaryMiddlewareBuilders []endpoint.UnaryMiddlewareBuilder
// retry policy
RetryMethodPolicies map[string]retry.Policy
RetryContainer *retry.Container
RetryWithResult *retry.ShouldResultRetry
// fallback policy
Fallback *fallback.Policy
// contains filtered or unexported fields
}
func (*UnaryOptions) InitMiddlewares ¶ added in v0.13.0
func (o *UnaryOptions) InitMiddlewares(ctx context.Context)
func (*UnaryOptions) SetUnaryRPCTimeout ¶ added in v0.13.0
func (o *UnaryOptions) SetUnaryRPCTimeout(d time.Duration)
Click to show internal directories.
Click to hide internal directories.