minor tweak

This commit is contained in:
hmol233 2021-07-10 16:41:23 +08:00
parent 3531b95d82
commit e4bf620795
No known key found for this signature in database
GPG Key ID: D617A9DAB0C992D5

View File

@ -24,7 +24,7 @@ type Buffer struct {
UDP *net.Destination UDP *net.Destination
} }
// New creates a Buffer with 0 length and 2K capacity. // New creates a Buffer with 0 length and 8K capacity.
func New() *Buffer { func New() *Buffer {
buf := pool.Get().([]byte) buf := pool.Get().([]byte)
if cap(buf) >= Size { if cap(buf) >= Size {
@ -57,8 +57,15 @@ func NewExisted(b []byte) *Buffer {
// StackNew creates a new Buffer object on stack. // StackNew creates a new Buffer object on stack.
// This method is for buffers that is released in the same function. // This method is for buffers that is released in the same function.
func StackNew() Buffer { func StackNew() Buffer {
buf := pool.Get().([]byte)
if cap(buf) >= Size {
buf = buf[:Size]
} else {
buf = make([]byte, Size)
}
return Buffer{ return Buffer{
v: pool.Get().([]byte), v: buf,
} }
} }
@ -72,7 +79,7 @@ func (b *Buffer) Release() {
b.v = nil b.v = nil
b.Clear() b.Clear()
if cap(p) >= Size { if cap(p) == Size {
pool.Put(p) pool.Put(p)
} }
b.UDP = nil b.UDP = nil