INNER CODE UNIT · Go

getCompressionWriter

offen/docker-volume-backup · cmd/backup/archive.go:95

func getCompressionWriter(file *os.File, algo string, concurrency int) (io.WriteCloser, error) {
	switch algo {
	case "none":
		return &passThroughWriteCloser{file}, nil
	case "gz":
		w, err := pgzip.NewWriterLevel(file, 5)
		if err != nil {
			return nil, errwrap.Wrap(err, "gzip error")
		}

		if concurrency == 0 {
			concurrency = runtime.GOMAXPROCS(0)
		}

		if err := w.SetConcurrency(1<<20, concurrency); err != nil {
			return nil, errwrap.Wrap(err, "error setting concurrency")
		}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…