pool

package
v4.3.3 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2021 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package pool handles the database connection pool.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Connect

type Connect func(string, log.BoltLogger) (db.Connection, error)

type Pool

type Pool struct {
	// contains filtered or unexported fields
}

func New

func New(maxSize int, maxAge time.Duration, connect Connect, logger log.Logger, logId string) *Pool

func (*Pool) Borrow

func (p *Pool) Borrow(ctx context.Context, serverNames []string, wait bool, boltLogger log.BoltLogger) (db.Connection, error)

Borrow tries to borrow an existing database connection or tries to create a new one if none exists. The wait flag indicates if the caller wants to wait for a connection to be returned if there aren't any idle connection available.

func (*Pool) CleanUp

func (p *Pool) CleanUp()

Prune all old connection on all the servers, this makes sure that servers gets removed from the map at some point in time. If there is a noticed failed connect still active we should wait a while with removal to get prioritization right.

func (*Pool) Close

func (p *Pool) Close()

func (*Pool) Return

func (p *Pool) Return(c db.Connection)

type PoolClosed

type PoolClosed struct {
}

func (*PoolClosed) Error

func (e *PoolClosed) Error() string

type PoolFull

type PoolFull struct {
	// contains filtered or unexported fields
}

func (*PoolFull) Error

func (e *PoolFull) Error() string

type PoolTimeout

type PoolTimeout struct {
	// contains filtered or unexported fields
}

func (*PoolTimeout) Error

func (e *PoolTimeout) Error() string

Jump to

Keyboard shortcuts

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