Versions in this module Expand all Collapse all v0 v0.0.2 May 18, 2022 v0.0.1 May 18, 2022 Changes in this version + var DefaultNewClientOpts = NewClientOptions + var DefaultNewClientPoolOpts = NewClientPoolOptions + var ErrAlreadyClosed = errors.New("grpc pool: the connection was already closed") + var ErrClosed = errors.New("grpc pool: client pool is closed") + var ErrFullPool = errors.New("grpc pool: closing a ClientConn into a full pool") + var ErrLimitsSmallThanReservation = errors.New("init param limits must larger than reservations") + var ErrReservationSmallThanOne = errors.New("init param reservation must larger than 1") + var ErrTimeout = errors.New("grpc pool: client pool timed out") + func Force() optparams.Option[AcquireOptions] + func HasClientConfig(opts ...optparams.Option[NewClientOptions]) optparams.Option[NewClientPoolOptions] + func UntilEnd() optparams.Option[CtxOptions] + func WithAcquireWaitTimeMS(wait int) optparams.Option[NewClientPoolOptions] + func WithAddr(addr string) optparams.Option[NewClientOptions] + func WithCaCertPath(path string) optparams.Option[SDKConfig] + func WithClientCertPath(path string) optparams.Option[SDKConfig] + func WithClientConfig(conf *NewClientOptions) optparams.Option[NewClientOptions] + func WithClientKeyPath(path string) optparams.Option[SDKConfig] + func WithClientPool() optparams.Option[SDKConfig] + func WithClientPoolAcquireWaitTime(wait int) optparams.Option[SDKConfig] + func WithClientPoolLimits(n int) optparams.Option[SDKConfig] + func WithClientPoolReservations(n int) optparams.Option[SDKConfig] + func WithCompression(protocol string) optparams.Option[SDKConfig] + func WithConfig(config *SDKConfig) optparams.Option[SDKConfig] + func WithConnWithBlock() optparams.Option[SDKConfig] + func WithDialOpts(opts ...grpc.DialOption) optparams.Option[NewClientOptions] + func WithInitialConnWindowSize(size int) optparams.Option[SDKConfig] + func WithInitialWindowSize(size int) optparams.Option[SDKConfig] + func WithKeepaliveEnforcementPermitWithoutStream() optparams.Option[SDKConfig] + func WithKeepaliveTime(alivetime int) optparams.Option[SDKConfig] + func WithKeepaliveTimeout(timeout int) optparams.Option[SDKConfig] + func WithLimits(limits int) optparams.Option[NewClientPoolOptions] + func WithMaxRecvMsgSize(size int) optparams.Option[SDKConfig] + func WithMaxSendMsgSize(size int) optparams.Option[SDKConfig] + func WithMeta(key string, value ...string) optparams.Option[CtxOptions] + func WithQueryAddresses(addresses ...string) optparams.Option[SDKConfig] + func WithQueryTimeout(timeout int) optparams.Option[SDKConfig] + func WithRequesterAppName(name string) optparams.Option[SDKConfig] + func WithRequesterAppVersion(version string) optparams.Option[SDKConfig] + func WithReservations(reservations int) optparams.Option[NewClientPoolOptions] + func WithStreamInterceptors(interceptor ...grpc.StreamClientInterceptor) optparams.Option[SDKConfig] + func WithTimeout(timeout time.Duration) optparams.Option[CtxOptions] + func WithUnaryInterceptors(interceptor ...grpc.UnaryClientInterceptor) optparams.Option[SDKConfig] + func WithXDSCREDS() optparams.Option[SDKConfig] + type AcquireOptions struct + Force bool + type Client struct + func NewClient(newgrpcclientfunc NewGrpcClientFunc[T], ...) (*Client[T], error) + func (c *Client[T]) AsGrpcClient() T + func (c *Client[T]) Close() error + func (c *Client[T]) GetConn() GrpcConnInterface + func (p *Client[T]) Acquire(opts ...optparams.Option[AcquireOptions]) (GrpcClientInterface[T], error) + func (p *Client[T]) Release(cli GrpcClientInterface[T]) + type CtxOptions struct + MetaData metadata.MD + Timeout time.Duration + UntilEnd bool + type GrpcClientGetter interface + Acquire func(...optparams.Option[AcquireOptions]) (GrpcClientInterface[T], error) + Close func() error + Release func(cli GrpcClientInterface[T]) + type GrpcClientInterface interface + AsGrpcClient func() T + Close func() error + GetConn func() GrpcConnInterface + type GrpcConnInterface interface + Close func() error + Connect func() + GetState func() connectivity.State + ResetConnectBackoff func() + type GrpcConnPool struct + func NewPool(newgrpcclientfunc NewGrpcClientFunc[T], ...) (*GrpcConnPool[T], error) + func (p *GrpcConnPool[T]) Acquire(opts ...optparams.Option[AcquireOptions]) (GrpcClientInterface[T], error) + func (p *GrpcConnPool[T]) Available() int + func (p *GrpcConnPool[T]) Close() error + func (p *GrpcConnPool[T]) IsClosed() bool + func (p *GrpcConnPool[T]) Limits() int + func (p *GrpcConnPool[T]) Release(cli GrpcClientInterface[T]) + type NewClientOptions struct + Addr string + DialOpts []grpc.DialOption + type NewClientPoolOptions struct + AcquireWaitTime time.Duration + Limits int + Reservations int + type NewGrpcClientFunc func(grpc.ClientConnInterface) T + type ReleaseFunc func() + type SDK struct + Logger *log.Log + func New(factory NewGrpcClientFunc[T], desc *grpc.ServiceDesc) *SDK[T] + func (c *SDK[T]) Close() error + func (c *SDK[T]) GetClient(opts ...optparams.Option[AcquireOptions]) (T, ReleaseFunc) + func (c *SDK[T]) Init(opts ...optparams.Option[SDKConfig]) error + func (c *SDK[T]) NewClientGetter() (GrpcClientGetter[T], error) + func (c *SDK[T]) NewCtx(opts ...optparams.Option[CtxOptions]) (ctx context.Context, cancel context.CancelFunc) + func (c *SDK[T]) RegistInterceptor() + func (c *SDK[T]) WithRequestMeta() optparams.Option[CtxOptions] + type SDKConfig struct + Ca_Cert_Path string + Client_Cert_Path string + Client_Key_Path string + Client_Pool bool + Client_Pool_Acquire_Wait_Time_MS int + Client_Pool_Limits int + Client_Pool_Reservations int + Compression string + Conn_With_Block bool + Initial_Conn_Window_Size int + Initial_Window_Size int + Keepalive_Enforcement_Permit_Without_Stream bool + Keepalive_Time int + Keepalive_Timeout int + Max_Recv_Msg_Size int + Max_Send_Msg_Size int + Query_Addresses []string + Query_Timeout int + Requester_App_Name string + Requester_App_Version string + StreamInterceptors []grpc.StreamClientInterceptor + UnaryInterceptors []grpc.UnaryClientInterceptor + XDS_CREDS bool