github.com/mutagen-io/mutagen@v0.18.0-rc1/pkg/synchronization/compression/none.go (about)

     1  package compression
     2  
     3  import (
     4  	"io"
     5  
     6  	"github.com/mutagen-io/mutagen/pkg/stream"
     7  )
     8  
     9  // noneCompressor implements stream.WriteFlushCloser for uncompressed streams.
    10  type noneCompressor struct {
    11  	// Writer is the underlying writer.
    12  	io.Writer
    13  }
    14  
    15  // Flush implements stream.Flusher.Flush.
    16  func (c *noneCompressor) Flush() error {
    17  	return nil
    18  }
    19  
    20  // Close implements io.Closer.Close.
    21  func (c *noneCompressor) Close() error {
    22  	return nil
    23  }
    24  
    25  // compressNone implements no-op compression for uncompressed streams.
    26  func compressNone(compressed io.Writer) stream.WriteFlushCloser {
    27  	return &noneCompressor{compressed}
    28  }
    29  
    30  // decompressNone implements no-op decompression for uncompressed streams.
    31  func decompressNone(compressed io.Reader) io.ReadCloser {
    32  	return io.NopCloser(compressed)
    33  }