Prechádzať zdrojové kódy

Fix pkg/pools staticcheck SA6002

change bufferPool use pointer instead byte slice

Signed-off-by: HuanHuan Ye <logindaveye@gmail.com>
HuanHuan Ye 5 rokov pred
rodič
commit
8498ee7514
1 zmenil súbory, kde vykonal 5 pridanie a 6 odobranie
  1. 5 6
      pkg/pools/pools.go

+ 5 - 6
pkg/pools/pools.go

@@ -62,24 +62,23 @@ type bufferPool struct {
 func newBufferPoolWithSize(size int) *bufferPool {
 func newBufferPoolWithSize(size int) *bufferPool {
 	return &bufferPool{
 	return &bufferPool{
 		pool: sync.Pool{
 		pool: sync.Pool{
-			New: func() interface{} { return make([]byte, size) },
+			New: func() interface{} { s := make([]byte, size); return &s },
 		},
 		},
 	}
 	}
 }
 }
 
 
-func (bp *bufferPool) Get() []byte {
-	return bp.pool.Get().([]byte)
+func (bp *bufferPool) Get() *[]byte {
+	return bp.pool.Get().(*[]byte)
 }
 }
 
 
-func (bp *bufferPool) Put(b []byte) {
-	//nolint:staticcheck // TODO changing this to a pointer makes tests fail. Investigate if we should change or not (otherwise remove this TODO)
+func (bp *bufferPool) Put(b *[]byte) {
 	bp.pool.Put(b)
 	bp.pool.Put(b)
 }
 }
 
 
 // Copy is a convenience wrapper which uses a buffer to avoid allocation in io.Copy.
 // Copy is a convenience wrapper which uses a buffer to avoid allocation in io.Copy.
 func Copy(dst io.Writer, src io.Reader) (written int64, err error) {
 func Copy(dst io.Writer, src io.Reader) (written int64, err error) {
 	buf := buffer32KPool.Get()
 	buf := buffer32KPool.Get()
-	written, err = io.CopyBuffer(dst, src, buf)
+	written, err = io.CopyBuffer(dst, src, *buf)
 	buffer32KPool.Put(buf)
 	buffer32KPool.Put(buf)
 	return
 	return
 }
 }