mirror of
https://github.com/ScuroNeko/mtg.git
synced 2026-09-01 01:04:02 +03:00
FILE / ScuroNeko/mtg
mtglib/internal/obfuscated2/pools.go
Исходный файл и его история в репозитории.
40 lines
607 B
Go
40 lines
607 B
Go
package obfuscated2
|
|
|
|
import (
|
|
"bytes"
|
|
"crypto/sha256"
|
|
"hash"
|
|
"sync"
|
|
)
|
|
|
|
var (
|
|
sha256HasherPool = sync.Pool{
|
|
New: func() interface{} {
|
|
return sha256.New()
|
|
},
|
|
}
|
|
bytesBufferPool = sync.Pool{
|
|
New: func() interface{} {
|
|
return &bytes.Buffer{}
|
|
},
|
|
}
|
|
)
|
|
|
|
func acquireSha256Hasher() hash.Hash {
|
|
return sha256HasherPool.Get().(hash.Hash)
|
|
}
|
|
|
|
func releaseSha256Hasher(h hash.Hash) {
|
|
h.Reset()
|
|
sha256HasherPool.Put(h)
|
|
}
|
|
|
|
func acquireBytesBuffer() *bytes.Buffer {
|
|
return bytesBufferPool.Get().(*bytes.Buffer)
|
|
}
|
|
|
|
func releaseBytesBuffer(buf *bytes.Buffer) {
|
|
buf.Reset()
|
|
bytesBufferPool.Put(buf)
|
|
}
|