Refactor to make more use of `progress` module
parent
c7d378b5c6
commit
63e3f8c80f
@ -1,57 +0,0 @@
|
||||
package chunking
|
||||
|
||||
import (
|
||||
"io"
|
||||
)
|
||||
|
||||
// CountingReader is a wrapper around an io.Reader that counts the number of
|
||||
// bytes read.
|
||||
type CountingReader struct {
|
||||
r io.Reader
|
||||
n int64
|
||||
}
|
||||
|
||||
// Read reads from the underlying io.Reader.
|
||||
func (cr *CountingReader) Read(p []byte) (int, error) {
|
||||
n, err := cr.r.Read(p)
|
||||
cr.n += int64(n)
|
||||
return n, err
|
||||
}
|
||||
|
||||
// Count returns the number of bytes read.
|
||||
func (cr *CountingReader) Count() int64 {
|
||||
return cr.n
|
||||
}
|
||||
|
||||
// NewCountingReader returns a new CountingReader that reads from r.
|
||||
func NewCountingReader(r io.Reader) *CountingReader {
|
||||
return &CountingReader{
|
||||
r: r,
|
||||
}
|
||||
}
|
||||
|
||||
// CountingWriter is a wrapper around an io.Writer that counts the number of
|
||||
// bytes written.
|
||||
type CountingWriter struct {
|
||||
w io.Writer
|
||||
n int64
|
||||
}
|
||||
|
||||
// Write writes to the underlying io.Writer.
|
||||
func (cw *CountingWriter) Write(p []byte) (int, error) {
|
||||
n, err := cw.w.Write(p)
|
||||
cw.n += int64(n)
|
||||
return n, err
|
||||
}
|
||||
|
||||
// Count returns the number of bytes written.
|
||||
func (cw *CountingWriter) Count() int64 {
|
||||
return cw.n
|
||||
}
|
||||
|
||||
// NewCountingWriter returns a new CountingWriter that writes to w.
|
||||
func NewCountingWriter(w io.Writer) *CountingWriter {
|
||||
return &CountingWriter{
|
||||
w: w,
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue