mirror of https://github.com/pressly/goose.git
24 lines
308 B
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:
|
|
}
|
|
}
|