Documentation ¶
Overview ¶
Package pool implements a pool of net.Conn interfaces to manage and reuse them.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrClosed is the error resulting if the pool is closed via pool.Close(). ErrClosed = errors.New("pool is closed") )
Functions ¶
This section is empty.
Types ¶
type Pool ¶
type Pool interface { // Get returns a new connection from the pool. Closing the connections puts // it back to the Pool. Closing it when the pool is destroyed or full will // be counted as an error. // The "fresh" return indicates whether this connection is newly minted and expected // not to be failing. Get() (conn *PoolConn, fresh bool, err error) // Close closes the pool and all its connections. After Close() the pool is // no longer usable. Close() }
Pool interface describes a pool implementation. A pool should have maximum capacity. An ideal pool is threadsafe and easy to use.
func NewChannelPool ¶
NewChannelPool returns a new pool based on buffered channels with an idle capacity and maximum capacity. Factory is used when initial capacity is greater than zero to fill the pool. If there is no new connection available in the pool, a new connection will be created via the Factory() method. If blocking is true, Get() block until there's a connection available when the pool is full If blocking is false, Get() returns an error.
Click to show internal directories.
Click to hide internal directories.