glider/common/pool/writebuf.go

26 lines
431 B
Go
Raw Normal View History

2020-04-19 17:03:39 +08:00
package pool
import (
"bytes"
"sync"
)
var writeBufPool = sync.Pool{
New: func() interface{} { return &bytes.Buffer{} },
}
// GetWriteBuffer returns a bytes.buffer from pool.
2020-04-19 23:20:15 +08:00
func GetWriteBuffer() *bytes.Buffer {
2020-04-19 17:03:39 +08:00
return writeBufPool.Get().(*bytes.Buffer)
}
// PutWriteBuffer puts a bytes.buffer into pool.
2020-04-19 17:03:39 +08:00
func PutWriteBuffer(buf *bytes.Buffer) {
if buf.Cap() > 64<<10 {
return
}
buf.Reset()
writeBufPool.Put(buf)
}