FILE / ScuroNeko/mtg

mtglib/internal/obfuscated2/pools.go

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

38 lines
604 B
Go

package obfuscated2
import (
"crypto/sha256"
"hash"
"sync"
)
var (
sha256HasherPool = sync.Pool{
New: func() interface{} {
return sha256.New()
},
}
handshakeFramePool = sync.Pool{
New: func() interface{} {
return &handshakeFrame{}
},
}
)
func acquireSha256Hasher() hash.Hash {
return sha256HasherPool.Get().(hash.Hash)
}
func releaseSha256Hasher(h hash.Hash) {
h.Reset()
sha256HasherPool.Put(h)
}
func acquireHandshakeFrame() *handshakeFrame {
return handshakeFramePool.Get().(*handshakeFrame)
}
func releaseHandshakeFrame(h *handshakeFrame) {
handshakeFramePool.Put(h)
}