forked from colinmarc/sequencefile
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathzlib.go
More file actions
27 lines (22 loc) · 628 Bytes
/
zlib.go
File metadata and controls
27 lines (22 loc) · 628 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package sequencefile
import (
"compress/zlib"
"io"
)
type zlibReaderWrapper struct {
io.ReadCloser
}
func newZlibReaderWrapper(src io.Reader) (*zlibReaderWrapper, error) {
r, err := zlib.NewReader(src)
if err != nil {
return nil, err
}
return &zlibReaderWrapper{r}, nil
}
// Reset implements decompressor.Reset, papering over the difference in
// interface.
func (z *zlibReaderWrapper) Reset(r io.Reader) error {
// The zlib docs guarantee that the ReadCloser returned by NewReader will also
// implement zlib.Resetter, so this type assertion should be safe.
return z.ReadCloser.(zlib.Resetter).Reset(r, nil)
}