1package bufpool
2
3import (
4	"bytes"
5	"sync"
6)
7
8var bufferPool = sync.Pool{
9	// New is called when a new instance is needed
10	New: func() interface{} {
11		return new(bytes.Buffer)
12	},
13}
14
15// GetBuffer from pool.
16func GetBuffer() *bytes.Buffer {
17	return bufferPool.Get().(*bytes.Buffer)
18}
19
20// PutBuffer to pool.
21func PutBuffer(buf *bytes.Buffer) {
22	buf.Reset()
23	bufferPool.Put(buf)
24}
25