Documentation
¶
Index ¶
- Constants
- type Config
- type Option
- func WithCreateSessionTimeout(createSessionTimeout time.Duration) Option
- func WithDeleteTimeout(deleteTimeout time.Duration) Option
- func WithIdleKeepAliveThreshold(idleKeepAliveThreshold int) Option
- func WithIdleThreshold(idleThreshold time.Duration) Option
- func WithKeepAliveMinSize(keepAliveMinSize int) Option
- func WithKeepAliveTimeout(keepAliveTimeout time.Duration) Option
- func WithSizeLimit(sizeLimit int) Option
- func WithTrace(trace trace.Table) Option
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 interface {
// Trace is an optional session lifetime tracing options.
Trace() trace.Table
// 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.
SizeLimit() 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
KeepAliveMinSize() 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
IdleKeepAliveThreshold() int
// 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.
IdleThreshold() time.Duration
// KeepAliveTimeout limits maximum time spent on KeepAlive request
// If KeepAliveTimeout is less than or equal to zero then the
// DefaultSessionPoolKeepAliveTimeout is used.
KeepAliveTimeout() 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.
CreateSessionTimeout() time.Duration
// DeleteTimeout limits maximum time spent on Delete request
// If DeleteTimeout is less than or equal to zero then the
// DefaultSessionPoolDeleteTimeout is used.
DeleteTimeout() time.Duration
}
type Option ¶
type Option func(*config)
func WithDeleteTimeout ¶
func WithIdleThreshold ¶
func WithKeepAliveMinSize ¶
func WithKeepAliveTimeout ¶
func WithSizeLimit ¶
Click to show internal directories.
Click to hide internal directories.