caddy/vendor/github.com/lucas-clemente/quic-go/buffer_pool.go

28 lines
489 B
Go
Raw Normal View History

package quic
import (
"sync"
"github.com/lucas-clemente/quic-go/internal/protocol"
)
var bufferPool sync.Pool
2018-03-26 07:37:41 +03:00
func getPacketBuffer() *[]byte {
return bufferPool.Get().(*[]byte)
}
2018-03-26 07:37:41 +03:00
func putPacketBuffer(buf *[]byte) {
if cap(*buf) != int(protocol.MaxReceivePacketSize) {
panic("putPacketBuffer called with packet of wrong size!")
}
2018-03-26 07:37:41 +03:00
bufferPool.Put(buf)
}
func init() {
bufferPool.New = func() interface{} {
2018-03-26 07:37:41 +03:00
b := make([]byte, 0, protocol.MaxReceivePacketSize)
return &b
}
}