mirror of
https://github.com/caddyserver/caddy.git
synced 2024-12-23 22:27:38 -05:00
6fde3632ef
The vendor/ folder was created with the help of @FiloSottile's gvt and vendorcheck. Any dependencies of Caddy plugins outside this repo are not vendored. We do not remove any unused, vendored packages because vendorcheck -u only checks using the current build configuration; i.e. packages that may be imported by files toggled by build tags of other systems. CI tests have been updated to ignore the vendor/ folder. When Go 1.9 is released, a few of the go commands should be revised to again use ./... as it will ignore the vendor folder by default.
26 lines
470 B
Go
26 lines
470 B
Go
package quic
|
|
|
|
import (
|
|
"sync"
|
|
|
|
"github.com/lucas-clemente/quic-go/protocol"
|
|
)
|
|
|
|
var bufferPool sync.Pool
|
|
|
|
func getPacketBuffer() []byte {
|
|
return bufferPool.Get().([]byte)
|
|
}
|
|
|
|
func putPacketBuffer(buf []byte) {
|
|
if cap(buf) != int(protocol.MaxReceivePacketSize) {
|
|
panic("putPacketBuffer called with packet of wrong size!")
|
|
}
|
|
bufferPool.Put(buf[:0])
|
|
}
|
|
|
|
func init() {
|
|
bufferPool.New = func() interface{} {
|
|
return make([]byte, 0, protocol.MaxReceivePacketSize)
|
|
}
|
|
}
|