Cleanup pools from wrappes

This commit is contained in:
9seconds
2020-08-10 13:29:08 +03:00
parent 95b16cd805
commit 86a8f69273
9 changed files with 14 additions and 89 deletions
+2 -4
View File
@@ -39,13 +39,11 @@ func (w *wrapperFakeTLS) WriteTimeout(p []byte, timeout time.Duration) (int, err
func (w *wrapperFakeTLS) write(p []byte, writeFunc func([]byte) (int, error)) (int, error) {
sum := 0
buf := acquireBytesBuffer()
defer releaseBytesBuffer(buf)
buf := bytes.Buffer{}
for _, v := range tlstypes.MakeRecords(p) {
buf.Reset()
v.WriteBytes(buf)
v.WriteBytes(&buf)
_, err := writeFunc(buf.Bytes())
if err != nil {
+3 -2
View File
@@ -1,6 +1,7 @@
package stream
import (
"bytes"
"crypto/aes"
"crypto/cipher"
"crypto/md5" // nolint: gosec
@@ -53,8 +54,8 @@ func mtprotoDeriveKeys(purpose mtprotoCipherPurpose,
resp *rpc.NonceResponse,
client, remote *net.TCPAddr,
secret []byte) ([]byte, []byte) {
message := acquireBytesBuffer()
defer releaseBytesBuffer(message)
message := bytes.Buffer{}
message.Write(resp.Nonce) // nolint: gosec
message.Write(req.Nonce) // nolint: gosec
+3 -4
View File
@@ -1,6 +1,7 @@
package stream
import (
"bytes"
"crypto/cipher"
"fmt"
"net"
@@ -40,8 +41,7 @@ func (w *wrapperObfuscated2) Read(p []byte) (int, error) {
}
func (w *wrapperObfuscated2) WriteTimeout(p []byte, timeout time.Duration) (int, error) {
buffer := acquireBytesBuffer()
defer releaseBytesBuffer(buffer)
buffer := bytes.Buffer{}
buffer.Write(p)
@@ -53,8 +53,7 @@ func (w *wrapperObfuscated2) WriteTimeout(p []byte, timeout time.Duration) (int,
}
func (w *wrapperObfuscated2) Write(p []byte) (int, error) {
buffer := acquireBytesBuffer()
defer releaseBytesBuffer(buffer)
buffer := bytes.Buffer{}
buffer.Write(p)
-23
View File
@@ -1,23 +0,0 @@
package stream
import (
"bytes"
"sync"
)
var (
poolBytesBuffer = sync.Pool{
New: func() interface{} {
return &bytes.Buffer{}
},
}
)
func acquireBytesBuffer() *bytes.Buffer {
return poolBytesBuffer.Get().(*bytes.Buffer)
}
func releaseBytesBuffer(buf *bytes.Buffer) {
buf.Reset()
poolBytesBuffer.Put(buf)
}