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 Conn ¶
Conn is a wrapper around net.Conn to modify the behavior of net.Conn's Close() method.
func (*Conn) MarkUnusable ¶
func (p *Conn) MarkUnusable()
MarkUnusable marks the connection not usable anymore, to let the pool close it instead of returning it to pool.
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() (net.Conn, 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
// Stats returns stats about the pool.
Stats() (map[string]interface{}, error)
}
Pool interface describes a pool implementation. A pool should have maximum capacity. An ideal pool is threadsafe and easy to use.
Click to show internal directories.
Click to hide internal directories.