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 }