Add pools for packetack

This commit is contained in:
9seconds
2020-03-23 17:08:13 +03:00
parent 6449109b2b
commit 9125a29e79
4 changed files with 46 additions and 5 deletions
+37
View File
@@ -0,0 +1,37 @@
package packetack
import (
"bytes"
"sync"
)
var (
poolClientBytesBuffer = sync.Pool{
New: func() interface{} {
return &bytes.Buffer{}
},
}
poolProxyBytesBuffer = sync.Pool{
New: func() interface{} {
return &bytes.Buffer{}
},
}
)
func acquireClientBytesBuffer() *bytes.Buffer {
return poolClientBytesBuffer.Get().(*bytes.Buffer)
}
func acquireProxyBytesBuffer() *bytes.Buffer {
return poolProxyBytesBuffer.Get().(*bytes.Buffer)
}
func releaseClientBytesBuffer(buf *bytes.Buffer) {
buf.Reset()
poolClientBytesBuffer.Put(buf)
}
func releaseProxyBytesBuffer(buf *bytes.Buffer) {
buf.Reset()
poolProxyBytesBuffer.Put(buf)
}