1package local
2
3import (
4	"os"
5)
6
7// readerat implements io.ReaderAt in a completely stateless manner by opening
8// the referenced file for each call to ReadAt.
9type sizeReaderAt struct {
10	size int64
11	fp   *os.File
12}
13
14func (ra sizeReaderAt) ReadAt(p []byte, offset int64) (int, error) {
15	return ra.fp.ReadAt(p, offset)
16}
17
18func (ra sizeReaderAt) Size() int64 {
19	return ra.size
20}
21
22func (ra sizeReaderAt) Close() error {
23	return ra.fp.Close()
24}
25