package config

import "github.com/ydb-platform/ydb-go-sdk/v3/internal/discovery/config"

Index

Constants

const (
	DefaultInterval = time.Minute
)

Types

type Config

type Config struct {
	config.Common
	// contains filtered or unexported fields
}

func New

func New(opts ...Option) *Config

func (*Config) Clock

func (c *Config) Clock() clockwork.Clock

func (*Config) Database

func (c *Config) Database() string

func (*Config) Endpoint

func (c *Config) Endpoint() string

func (*Config) Interval

func (c *Config) Interval() time.Duration

func (*Config) Meta

func (c *Config) Meta() *meta.Meta

func (*Config) MutateAddress

func (c *Config) MutateAddress(fqdn string) string

func (*Config) Secure

func (c *Config) Secure() bool

func (*Config) Trace

func (c *Config) Trace() *trace.Discovery

type Option

type Option func(c *Config)

func With

func With(config config.Common) Option

With applies common configuration params

func WithAddressMutator

func WithAddressMutator(addressMutator func(address string) string) Option

func WithClock

func WithClock(clock clockwork.Clock) Option

func WithDatabase

func WithDatabase(database string) Option

WithDatabase set a required database name.

func WithEndpoint

func WithEndpoint(endpoint string) Option

WithEndpoint set a required starting endpoint for connect

func WithInterval

func WithInterval(interval time.Duration) Option

WithInterval set the frequency of background tasks of ydb endpoints discovery.

If Interval is zero then the DefaultInterval is used.

If Interval is negative, then no background discovery prepared.

func WithMeta

func WithMeta(meta *meta.Meta) Option

WithMeta is not for user.

This option add meta information about database connection

func WithSecure

func WithSecure(ssl bool) Option

WithSecure set flag for secure connection

func WithTrace

func WithTrace(trace trace.Discovery, opts ...trace.DiscoveryComposeOption) Option

WithTrace configures discovery client calls tracing

Source Files

config.go

Version
v3.95.4
Published
Dec 23, 2024
Platform
linux/amd64
Imports
5 packages
Last checked
11 seconds ago

Tools for package owners.