Documentation ¶
Overview ¶
Package pool implements a pool of Object 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(). ErrEmpty = errors.New("pool is empty") 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. Get() (Object, error) Put(Object) error // Close closes the pool and all its connections. After Close() the pool is // no longer usable. Close() // Len returns the current number of connections of the pool. Len() int }
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 maximum capacity. Pool doesn't fill the Pool until the (Pool)Put() is called. If there is no new Object available in the pool, (Pool)Get will return nil and u should create a new one by yourself.
Click to show internal directories.
Click to hide internal directories.