mirror of
https://github.com/ScuroNeko/mtg.git
synced 2026-08-31 17:04:02 +03:00
FILE / ScuroNeko/mtg
faketls/pools.go
Исходный файл и его история в репозитории.
40 lines
620 B
Go
40 lines
620 B
Go
package faketls
|
|
|
|
import (
|
|
"bytes"
|
|
"sync"
|
|
)
|
|
|
|
const cloakBufferSize = 1024
|
|
|
|
var (
|
|
poolBytesBuffer = sync.Pool{
|
|
New: func() interface{} {
|
|
return &bytes.Buffer{}
|
|
},
|
|
}
|
|
poolCloakBuffer = sync.Pool{
|
|
New: func() interface{} {
|
|
rv := make([]byte, cloakBufferSize)
|
|
return &rv
|
|
},
|
|
}
|
|
)
|
|
|
|
func acquireBytesBuffer() *bytes.Buffer {
|
|
return poolBytesBuffer.Get().(*bytes.Buffer)
|
|
}
|
|
|
|
func acquireCloakBuffer() *[]byte {
|
|
return poolCloakBuffer.Get().(*[]byte)
|
|
}
|
|
|
|
func releaseBytesBuffer(buf *bytes.Buffer) {
|
|
buf.Reset()
|
|
poolBytesBuffer.Put(buf)
|
|
}
|
|
|
|
func releaseCloakBuffer(buf *[]byte) {
|
|
poolCloakBuffer.Put(buf)
|
|
}
|