v2ray-core/common/buf/buffer_pool.go

33 lines
458 B
Go
Raw Normal View History

2016-12-09 11:35:27 +01:00
package buf
2016-04-12 16:52:57 +02:00
import (
"sync"
)
2018-03-11 23:06:04 +01:00
const (
// Size of a regular buffer.
Size = 2 * 1024
)
2016-11-21 22:08:34 +01:00
2018-03-11 23:06:04 +01:00
func createAllocFunc(size uint32) func() interface{} {
return func() interface{} {
return make([]byte, size)
2016-11-21 22:08:34 +01:00
}
}
2018-03-11 23:06:04 +01:00
var pool2k = &sync.Pool{
New: createAllocFunc(2 * 1024),
2016-11-21 22:08:34 +01:00
}
2018-03-11 23:06:04 +01:00
var pool8k = &sync.Pool{
New: createAllocFunc(8 * 1024),
2016-11-21 22:08:34 +01:00
}
2018-03-11 23:06:04 +01:00
var pool64k = &sync.Pool{
New: createAllocFunc(64 * 1024),
}
2016-05-11 10:54:20 -07:00
2018-03-11 23:06:04 +01:00
var pool128k = &sync.Pool{
New: createAllocFunc(128 * 1024),
}