FILE / ScuroNeko/mtg

mtglib/internal/faketls/record/pools.go

Исходный файл и его история в репозитории.
FILE 39920545600c5807a4fc02104a3bdb2a4084f8de
Files
mtg/mtglib/internal/faketls/record/pools.go
T

38 lines
538 B
Go

package record
import (
"bytes"
"sync"
)
var (
recordPool = sync.Pool{
New: func() interface{} {
return &Record{}
},
}
bytesBufferPool = sync.Pool{
New: func() interface{} {
return &bytes.Buffer{}
},
}
)
func AcquireRecord() *Record {
return recordPool.Get().(*Record)
}
func ReleaseRecord(r *Record) {
r.Reset()
recordPool.Put(r)
}
func acquireBytesBuffer() *bytes.Buffer {
return bytesBufferPool.Get().(*bytes.Buffer)
}
func releaseBytesBuffer(buf *bytes.Buffer) {
buf.Reset()
bytesBufferPool.Put(buf)
}