func()

in lambda/internal/tarfile/s3file.go [123:139]


func (f *S3File) Read(b []byte) (n int, err error) {
	logrus.Debugf("S3File: Read %d bytes", len(b))

	if f.i >= f.size {
		return 0, io.EOF
	}
	if f.rcache == nil {
		return 0, errors.New("S3File: rcache is nil, did you close the file?")
	}
	buf, err := f.rcache.Read(f.i, f.i+int64(len(b)), f.onCacheMiss)
	if err != nil {
		return 0, err
	}
	n = copy(b, buf)
	f.i += int64(n)
	return n, nil
}