mirror of
https://github.com/get-drexa/drive.git
synced 2025-12-01 05:51:39 +00:00
24 lines
381 B
Go
24 lines
381 B
Go
package ioext
|
|
|
|
import "io"
|
|
|
|
type CountingReader struct {
|
|
reader io.Reader
|
|
count int64
|
|
}
|
|
|
|
func NewCountingReader(reader io.Reader) *CountingReader {
|
|
return &CountingReader{reader: reader}
|
|
}
|
|
|
|
func (r *CountingReader) Read(p []byte) (n int, err error) {
|
|
n, err = r.reader.Read(p)
|
|
r.count += int64(n)
|
|
return n, err
|
|
}
|
|
|
|
func (r *CountingReader) Count() int64 {
|
|
return r.count
|
|
}
|
|
|