27 lines
402 B
Go
27 lines
402 B
Go
package service
|
|
|
|
import "sync"
|
|
|
|
const bufferPoolSize = 32 * 1024
|
|
|
|
func newBufferPool() *bufferPool {
|
|
return &bufferPool{
|
|
pool: sync.Pool{
|
|
New: func() interface{} {
|
|
return make([]byte, bufferPoolSize)
|
|
},
|
|
},
|
|
}
|
|
}
|
|
|
|
type bufferPool struct {
|
|
pool sync.Pool
|
|
}
|
|
|
|
func (b *bufferPool) Get() []byte {
|
|
return b.pool.Get().([]byte)
|
|
}
|
|
|
|
func (b *bufferPool) Put(bytes []byte) {
|
|
b.pool.Put(bytes)
|
|
}
|