repos / pico

pico services mono repo
git clone https://github.com/picosh/pico.git

pico / pkg / pobj
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}