goose/vendor/github.com/ClickHouse/clickhouse-go/lib/leakypool/leaky_pool.go

24 lines
308 B
Go

package leakypool
var pool chan []byte
func InitBytePool(size int) {
pool = make(chan []byte, size)
}
func GetBytes(size, capacity int) (b []byte) {
select {
case b = <-pool:
default:
b = make([]byte, size, capacity)
}
return
}
func PutBytes(b []byte) {
select {
case pool <- b:
default:
}
}