glider/pkg/pool/bytesbuffer.go

24 lines
416 B
Go
Raw Normal View History

2020-11-03 22:52:50 +08:00
package pool
import (
"bytes"
"sync"
)
var bytesBufPool = sync.Pool{
2022-01-26 23:40:49 +08:00
New: func() any { return &bytes.Buffer{} },
2020-11-03 22:52:50 +08:00
}
// GetBytesBuffer returns a bytes.buffer from pool.
func GetBytesBuffer() *bytes.Buffer {
return bytesBufPool.Get().(*bytes.Buffer)
}
// PutBytesBuffer puts a bytes.buffer into pool.
func PutBytesBuffer(buf *bytes.Buffer) {
2022-01-26 23:40:49 +08:00
if buf.Cap() <= 64<<10 {
buf.Reset()
bytesBufPool.Put(buf)
2020-11-03 22:52:50 +08:00
}
}