func newPooledGzipCompressor()

in elastictransport/gzip.go [79:101]


func newPooledGzipCompressor(compressionLevel int) gzipCompressor {
	gzipWriterPool := sync.Pool{
		New: func() any {
			writer, err := gzip.NewWriterLevel(io.Discard, compressionLevel)
			return &gzipWriter{
				writer: writer,
				err:    err,
			}
		},
	}

	bufferPool := sync.Pool{
		New: func() any {
			return new(bytes.Buffer)
		},
	}

	return &pooledGzipCompressor{
		gzipWriterPool:   &gzipWriterPool,
		bufferPool:       &bufferPool,
		compressionLevel: compressionLevel,
	}
}