mox/moxio/atreader.go

21 lines
324 B
Go
Raw Permalink Normal View History

2023-01-30 16:27:06 +03:00
package moxio
import (
"io"
)
// AtReader is turns an io.ReaderAt into a io.Reader by keeping track of the
// offset.
type AtReader struct {
R io.ReaderAt
Offset int64
}
func (r *AtReader) Read(buf []byte) (int, error) {
n, err := r.R.ReadAt(buf, r.Offset)
if n > 0 {
r.Offset += int64(n)
}
return n, err
}