You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
380 B
27 lines
380 B
package kafka
|
|
|
|
import (
|
|
"bytes"
|
|
"sync"
|
|
)
|
|
|
|
var bufferPool = sync.Pool{
|
|
New: func() interface{} { return newBuffer() },
|
|
}
|
|
|
|
func newBuffer() *bytes.Buffer {
|
|
b := new(bytes.Buffer)
|
|
b.Grow(65536)
|
|
return b
|
|
}
|
|
|
|
func acquireBuffer() *bytes.Buffer {
|
|
return bufferPool.Get().(*bytes.Buffer)
|
|
}
|
|
|
|
func releaseBuffer(b *bytes.Buffer) {
|
|
if b != nil {
|
|
b.Reset()
|
|
bufferPool.Put(b)
|
|
}
|
|
}
|
|
|