gzip.go 364 B

123456789101112131415161718192021222324
  1. package main
  2. import (
  3. "compress/gzip"
  4. "io"
  5. "os"
  6. "sync"
  7. )
  8. var nullwriter, _ = os.Open("/dev/null")
  9. var gzipPool = sync.Pool{
  10. New: func() interface{} {
  11. gz, _ := gzip.NewWriterLevel(nullwriter, conf.GZipCompression)
  12. return gz
  13. },
  14. }
  15. func gzipData(data []byte, w io.Writer) {
  16. gz := gzipPool.Get().(*gzip.Writer)
  17. gz.Reset(w)
  18. gz.Write(data)
  19. gz.Close()
  20. }