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
@@ -1,7 +1,6 @@
package packetack
import (
"bytes"
"encoding/binary"
"fmt"
"math/rand"
@@ -35,11 +34,13 @@ func (w *wrapperClientIntermediateSecure) Write(packet conntypes.Packet, acks *c
return nil
}
buf := bytes.Buffer{}
buf := acquireClientBytesBuffer()
defer releaseClientBytesBuffer(buf)
paddingLength := rand.Intn(4)
buf.Grow(4 + len(packet) + paddingLength)
binary.Write(&buf, binary.LittleEndian, uint32(len(packet)+paddingLength)) // nolint: errcheck
binary.Write(buf, binary.LittleEndian, uint32(len(packet)+paddingLength)) // nolint: errcheck
buf.Write(packet)
buf.Write(make([]byte, paddingLength))