Documentation ¶
Overview ¶
Package pool provides pool structures to help reduce garbage collector pressure.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Bytes ¶
type Bytes struct {
// contains filtered or unexported fields
}
Bytes is a pool of byte slices that can be re-used. Slices in this pool will not be garbage collected when not in use.
type Generic ¶
type Generic struct {
// contains filtered or unexported fields
}
Generic is a pool of types that can be re-used. Items in this pool will not be garbage collected when not in use.
func NewGeneric ¶
NewGeneric returns a Generic pool with capacity for max items to be pool.
type LimitedBytes ¶
type LimitedBytes struct {
// contains filtered or unexported fields
}
LimitedBytes is a pool of byte slices that can be re-used. Slices in this pool will not be garbage collected when not in use. The pool will hold onto a fixed number of byte slices of a maximum size. If the pool is empty or the required size is larger than max size, it will return a new byte slice. Byte slices added to the pool that are over the max size are dropped.
func NewLimitedBytes ¶
func NewLimitedBytes(capacity int, maxSize int) *LimitedBytes
NewBytes returns a Bytes pool with capacity for max byte slices to be pool.
func (*LimitedBytes) Get ¶
func (p *LimitedBytes) Get(sz int) []byte
Get returns a byte slice size with at least sz capacity. Items returned may not be in the zero state and should be reset by the caller.
func (*LimitedBytes) Put ¶
func (p *LimitedBytes) Put(c []byte)
Put returns a slice back to the pool. If the pool is full, the byte slice is discarded. If the byte slice is over the configured max size of any byte slice in the pool, it is discarded.