config

package
v3.7.0-beta Latest Latest
Warning

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

Go to latest
Published: Jan 17, 2022 License: Apache-2.0 Imports: 15 Imported by: 4

Documentation

Index

Constants

View Source
const (
	DefaultDiscoveryInterval = time.Minute
)

Variables

View Source
var (
	// DefaultKeepaliveInterval contains default duration between grpc keepalive
	DefaultKeepaliveInterval    = 10 * time.Second
	MinKeepaliveInterval        = 10 * time.Second
	DefaultGRPCMsgSize          = 64 * 1024 * 1024 // 64MB
	DefaultGrpcConnectionPolicy = keepalive.ClientParameters{
		Time:                DefaultKeepaliveInterval,
		Timeout:             MinKeepaliveInterval,
		PermitWithoutStream: true,
	}
)

Functions

This section is empty.

Types

type Config

type Config interface {
	// Endpoint is a required starting endpoint for connect
	Endpoint() string

	// Database is a required database name.
	Database() string

	// Secure is an flag for secure connection
	Secure() bool

	// Credentials is an ydb client credentials.
	// In most cases Credentials are required.
	Credentials() ydbCredentials.Credentials

	// Trace contains driver tracing options.
	Trace() trace.Driver

	// RequestTimeout is the maximum amount of time a Call() will wait for an
	// operation to complete.
	// If RequestTimeout is zero then no timeout is used.
	RequestTimeout() time.Duration

	// StreamTimeout is the maximum amount of time a StreamRead() will wait for
	// an operation to complete.
	// If StreamTimeout is zero then no timeout is used.
	StreamTimeout() time.Duration

	// OperationTimeout is the maximum amount of time a YDB server will process
	// an operation. After timeout exceeds YDB will try to cancel operation and
	// regardless of the cancellation appropriate error will be returned to
	// the client.
	// If OperationTimeout is zero then no timeout is used.
	OperationTimeout() time.Duration

	// OperationCancelAfter is the maximum amount of time a YDB server will process an
	// operation. After timeout exceeds YDB will try to cancel operation and if
	// it succeeds appropriate error will be returned to the client; otherwise
	// processing will be continued.
	// If OperationCancelAfter is zero then no timeout is used.
	OperationCancelAfter() time.Duration

	// DiscoveryInterval is the frequency of background tasks of ydb endpoints
	// discovery.
	// If DiscoveryInterval is zero then the DefaultDiscoveryInterval is used.
	// If DiscoveryInterval is negative, then no background discovery prepared.
	DiscoveryInterval() time.Duration

	// Balancer is an optional configuration related to selected balancer.
	// That is, some balancing methods allow to be configured.
	Balancer() ibalancer.Balancer

	// RequestsType set an additional types hint to all requests.
	// It is needed only for debug purposes and advanced cases.
	RequestsType() string

	// DialTimeout is the maximum amount of time a dial will wait for a connect to
	// complete.
	// If DialTimeout is zero then no timeout is used.
	DialTimeout() time.Duration

	// TLSConfig specifies the TLS configuration to use for tls client.
	// If TLSConfig is zero then connections are insecure.
	TLSConfig() *tls.Config

	// GrpcDialOptions is an custom client grpc dial options which will appends to
	// default grpc dial options
	GrpcDialOptions() []grpc.DialOption

	// ConnectionTTL is a time to live of a connection
	// If ConnectionTTL is zero then TTL is not used.
	ConnectionTTL() time.Duration

	// Meta is an option which contains meta information about database connection
	Meta() meta.Meta
}

Config contains driver configuration options.

func New

func New(opts ...Option) Config

type Option

type Option func(c *config)

func WithBalancer added in v3.6.0

func WithBalancer(balancer ibalancer.Balancer) Option

func WithCertificate

func WithCertificate(certificate *x509.Certificate) Option

func WithConnectionTTL added in v3.7.0

func WithConnectionTTL(ttl time.Duration) Option

func WithCredentials

func WithCredentials(credentials credentials.Credentials) Option

func WithDatabase

func WithDatabase(database string) Option

func WithDialTimeout

func WithDialTimeout(timeout time.Duration) Option

func WithDiscoveryInterval

func WithDiscoveryInterval(discoveryInterval time.Duration) Option

func WithEndpoint

func WithEndpoint(endpoint string) Option

func WithGrpcOptions added in v3.5.0

func WithGrpcOptions(option ...grpc.DialOption) Option

func WithOperationCancelAfter

func WithOperationCancelAfter(operationCancelAfter time.Duration) Option

func WithOperationTimeout

func WithOperationTimeout(operationTimeout time.Duration) Option

func WithRequestTimeout

func WithRequestTimeout(requestTimeout time.Duration) Option

func WithRequestsType

func WithRequestsType(requestsType string) Option

func WithSecure

func WithSecure(secure bool) Option

func WithStreamTimeout

func WithStreamTimeout(streamTimeout time.Duration) Option

func WithTrace

func WithTrace(trace trace.Driver) Option

func WithUserAgent added in v3.7.0

func WithUserAgent(userAgent string) Option

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL