Files
tun2socks/core/buffer_pool.go
2019-08-12 15:15:35 +08:00

24 lines
387 B
Go

package core
import (
"sync"
)
const defaultBufferSize = 2 * 1024
var bufPool = sync.Pool{New: func() interface{} { return make([]byte, defaultBufferSize) }}
func newBytes(size int) []byte {
if size <= defaultBufferSize {
return bufPool.Get().([]byte)
} else {
return make([]byte, size)
}
}
func freeBytes(b []byte) {
if len(b) >= defaultBufferSize {
bufPool.Put(b)
}
}