16ef5838c3
This is largely a move to simplify a lot of the readers Also further breaks out functions.
26 lines
346 B
Go
26 lines
346 B
Go
package toreader
|
|
|
|
import "io"
|
|
|
|
type Reader struct {
|
|
r io.ReaderAt
|
|
off int64
|
|
}
|
|
|
|
func NewReader(r io.ReaderAt, start int64) *Reader {
|
|
return &Reader{
|
|
r: r,
|
|
off: start,
|
|
}
|
|
}
|
|
|
|
func (r *Reader) Read(p []byte) (n int, err error) {
|
|
n, err = r.r.ReadAt(p, r.off)
|
|
r.off += int64(n)
|
|
return
|
|
}
|
|
|
|
func (r Reader) Offset() int64 {
|
|
return r.off
|
|
}
|