Documentation ¶
Index ¶
- Variables
- func KeepAliveDialer(addr string, timeout time.Duration) (net.Conn, error)
- func TLSConfig(serverName string) *tls.Config
- type Pool
- func (p *Pool) AddDialOption(opts ...grpc.DialOption)
- func (p *Pool) Close(target ...string)
- func (p *Pool) DialInsecure(target string) (*grpc.ClientConn, error)
- func (p *Pool) DialSecure(target string, creds credentials.TransportCredentials) (*grpc.ClientConn, error)
- func (p *Pool) SetContext(ctx context.Context)
Constants ¶
This section is empty.
Variables ¶
var DefaultDialOptions = []grpc.DialOption{ grpc.WithStreamInterceptor(restartstream.Interceptor(restartstream.DefaultSettings)), grpc.WithDialer(KeepAliveDialer), grpc.WithBlock(), }
DefaultDialOptions for connecting with servers
var Global = NewPool(context.Background(), DefaultDialOptions...)
Global pool with connections
var RootCAs *x509.CertPool
RootCAs to use in API connections
Functions ¶
func KeepAliveDialer ¶
KeepAliveDialer is a dialer that adds a 10 second TCP KeepAlive
Types ¶
type Pool ¶
type Pool struct {
// contains filtered or unexported fields
}
Pool with connections
func NewPool ¶
func NewPool(ctx context.Context, dialOptions ...grpc.DialOption) *Pool
NewPool returns a new connection pool that uses the given DialOptions
func (*Pool) AddDialOption ¶
func (p *Pool) AddDialOption(opts ...grpc.DialOption)
AddDialOption adds DialOption for the pool. Only new connections will use these new DialOptions
func (*Pool) DialInsecure ¶
func (p *Pool) DialInsecure(target string) (*grpc.ClientConn, error)
DialInsecure gets a connection from the pool or creates a new one This function is blocking if grpc.WithBlock() is used
func (*Pool) DialSecure ¶
func (p *Pool) DialSecure(target string, creds credentials.TransportCredentials) (*grpc.ClientConn, error)
DialSecure gets a connection from the pool or creates a new one This function is blocking if grpc.WithBlock() is used
func (*Pool) SetContext ¶
SetContext sets a new background context for the pool. Only new connections will use this new context