mirror of https://github.com/containers/podman.git
19 lines
398 B
Go
19 lines
398 B
Go
package sdk
|
|
|
|
import (
|
|
"io"
|
|
"sync"
|
|
)
|
|
|
|
const buffer32K = 32 * 1024
|
|
|
|
var buffer32KPool = &sync.Pool{New: func() interface{} { return make([]byte, buffer32K) }}
|
|
|
|
// copyBuf uses a shared buffer pool with io.CopyBuffer
|
|
func copyBuf(w io.Writer, r io.Reader) (int64, error) {
|
|
buf := buffer32KPool.Get().([]byte)
|
|
written, err := io.CopyBuffer(w, r, buf)
|
|
buffer32KPool.Put(buf)
|
|
return written, err
|
|
}
|