func (r *P2PFile) Read(p []byte) (n int, err error) {
	ret, err := r.ReadAt(p, r.cur)
	if err == nil {
		r.cur += int64(ret)
	}
	return ret, err
}
Read data via file access
package fs
import (
	"io"
	"github.com/alibaba/accelerated-container-image/pkg/p2p/util"
	"github.com/alibaba/accelerated-container-image/pkg/p2p/rangesplit"
	log "github.com/sirupsen/logrus"
)
const cacheBlockSize int = 1 * 1024 * 1024
type prefetchTask struct {
	fn     string
	rf     RemoteFetcher
	offset int64
	count  int
}
type P2PFile struct {
	path   string
	fs     P2PFS
	cur    int64
	size   int64
	Source RemoteFetcher
}