Eric Bower
·
2026-01-16
reader.go
1package pobj
2
3import (
4 "errors"
5 "io"
6
7 "github.com/picosh/pico/pkg/send/utils"
8)
9
10type AllReaderAt struct {
11 Reader utils.ReadAndReaderAtCloser
12}
13
14func NewAllReaderAt(reader utils.ReadAndReaderAtCloser) *AllReaderAt {
15 return &AllReaderAt{reader}
16}
17
18func (a *AllReaderAt) ReadAt(p []byte, off int64) (n int, err error) {
19 n, err = a.Reader.ReadAt(p, off)
20
21 if errors.Is(err, io.EOF) {
22 return
23 }
24
25 return
26}
27
28func (a *AllReaderAt) Read(p []byte) (int, error) {
29 return a.Reader.Read(p)
30}
31
32func (a *AllReaderAt) Close() error {
33 return a.Reader.Close()
34}