config

package
v3.21.0-rc1 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2022 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultSessionPoolKeepAliveTimeout     = 500 * time.Millisecond
	DefaultSessionPoolDeleteTimeout        = 500 * time.Millisecond
	DefaultSessionPoolCreateSessionTimeout = 5 * time.Second
	DefaultSessionPoolIdleThreshold        = 5 * time.Minute
	DefaultSessionPoolSizeLimit            = 50
	DefaultKeepAliveMinSize                = 10
	DefaultIdleKeepAliveThreshold          = 2
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

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

Config is a configuration of table client

func New

func New(opts ...Option) Config

func (Config) CreateSessionTimeout

func (c Config) CreateSessionTimeout() time.Duration

CreateSessionTimeout limits maximum time spent on Create session request If CreateSessionTimeout is less than or equal to zero then the DefaultSessionPoolCreateSessionTimeout is used.

func (Config) DeleteTimeout

func (c Config) DeleteTimeout() time.Duration

DeleteTimeout limits maximum time spent on Delete request If DeleteTimeout is less than or equal to zero then the DefaultSessionPoolDeleteTimeout is used.

func (Config) IdleKeepAliveThreshold

func (c Config) IdleKeepAliveThreshold() int

IdleKeepAliveThreshold is a number of keepAlive messages to call before the session is removed if it is an excess session (see KeepAliveMinSize) This means that session will be deleted after the expiration of lifetime = IdleThreshold * IdleKeepAliveThreshold If IdleKeepAliveThreshold is less than zero then it will be treated as infinite and no sessions will be removed ever. If IdleKeepAliveThreshold is equal to zero, it will be set to DefaultIdleKeepAliveThreshold

func (Config) IdleThreshold

func (c Config) IdleThreshold() time.Duration

IdleThreshold is a maximum duration between any activity within session. If this threshold reached, KeepAlive() method will be called on idle session.

If IdleThreshold is less than zero then there is no idle limit. If IdleThreshold is zero, then the DefaultSessionPoolIdleThreshold value is used.

func (Config) KeepAliveMinSize

func (c Config) KeepAliveMinSize() int

KeepAliveMinSize is a lower bound for sessions in the pool. If there are more sessions open, then the excess idle ones will be closed and removed after IdleKeepAliveThreshold is reached for each of them. If KeepAliveMinSize is less than zero, then no sessions will be preserved If KeepAliveMinSize is zero, the DefaultKeepAliveMinSize is used

func (Config) KeepAliveTimeout

func (c Config) KeepAliveTimeout() time.Duration

KeepAliveTimeout limits maximum time spent on KeepAlive request If KeepAliveTimeout is less than or equal to zero then the DefaultSessionPoolKeepAliveTimeout is used.

func (Config) SizeLimit

func (c Config) SizeLimit() int

SizeLimit is an upper bound of pooled sessions. If SizeLimit is less than or equal to zero then the DefaultSessionPoolSizeLimit variable is used as a limit.

func (Config) Trace

func (c Config) Trace() trace.Table

Trace defines trace over table client calls

type Option

type Option func(*Config)

func With

func With(config config.Common) Option

With applies common configuration params

func WithCreateSessionTimeout

func WithCreateSessionTimeout(createSessionTimeout time.Duration) Option

WithCreateSessionTimeout limits maximum time spent on Create session request If createSessionTimeout is less than or equal to zero then the DefaultSessionPoolCreateSessionTimeout is used.

func WithDeleteTimeout

func WithDeleteTimeout(deleteTimeout time.Duration) Option

WithDeleteTimeout limits maximum time spent on Delete request If deleteTimeout is less than or equal to zero then the DefaultSessionPoolDeleteTimeout is used.

func WithIdleKeepAliveThreshold

func WithIdleKeepAliveThreshold(idleKeepAliveThreshold int) Option

WithIdleKeepAliveThreshold defines number of keepAlive messages to call before the session is removed if it is an excess session (see KeepAliveMinSize) This means that session will be deleted after the expiration of lifetime = IdleThreshold * IdleKeepAliveThreshold If IdleKeepAliveThreshold is less than zero then it will be treated as infinite and no sessions will be removed ever. If IdleKeepAliveThreshold is equal to zero, it will be set to DefaultIdleKeepAliveThreshold

func WithIdleThreshold

func WithIdleThreshold(idleThreshold time.Duration) Option

WithIdleThreshold sets maximum duration between any activity within session. If this threshold reached, KeepAlive() method will be called on idle session.

If idleThreshold is less than zero then there is no idle limit. If idleThreshold is zero, then the DefaultSessionPoolIdleThreshold value is used.

func WithKeepAliveMinSize

func WithKeepAliveMinSize(keepAliveMinSize int) Option

WithKeepAliveMinSize defines lower bound for sessions in the pool. If there are more sessions open, then the excess idle ones will be closed and removed after IdleKeepAliveThreshold is reached for each of them. If keepAliveMinSize is less than zero, then no sessions will be preserved If keepAliveMinSize is zero, the DefaultKeepAliveMinSize is used

func WithKeepAliveTimeout

func WithKeepAliveTimeout(keepAliveTimeout time.Duration) Option

WithKeepAliveTimeout limits maximum time spent on KeepAlive request If keepAliveTimeout is less than or equal to zero then the DefaultSessionPoolKeepAliveTimeout is used.

func WithSizeLimit

func WithSizeLimit(sizeLimit int) Option

WithSizeLimit defines upper bound of pooled sessions. If sizeLimit is less than or equal to zero then the DefaultSessionPoolSizeLimit variable is used as a limit.

func WithTrace

func WithTrace(trace trace.Table, opts ...trace.TableComposeOption) Option

WithTrace appends table trace to early defined traces

Jump to

Keyboard shortcuts

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