Documentation

Overview

Package pool is a connection pool

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Conn

type Conn interface {
	// unique id of connection
	Id() string
	// time it was created
	Created() time.Time
	// embedded connection
	transport.Client
}

type Option

type Option func(*Options)

func Size

func Size(i int) Option

func TTL

func TTL(t time.Duration) Option

func Transport

func Transport(t transport.Transport) Option

type Options

type Options struct {
	Transport transport.Transport
	TTL       time.Duration
	Size      int
}

type Pool

type Pool interface {
	// Close the pool
	Close() error
	// Get a connection
	Get(addr string, opts ...transport.DialOption) (Conn, error)
	// Release the connection
	Release(c Conn, status error) error
}

Pool is an interface for connection pooling

func NewPool

func NewPool(opts ...Option) Pool