blob: d5c0ace83a166d9ad572240939a7a32fdabec597 [file] [log] [blame]
// +build ignore,OMIT
package main
import "io"
type SizeReaderAt interface {
io.ReaderAt
Size() int64
}
// START_DOC OMIT
// NewChunkAlignedReaderAt returns a ReaderAt wrapper that is backed
// by a ReaderAt r of size totalSize where the wrapper guarantees that
// all ReadAt calls are aligned to chunkSize boundaries and of size
// chunkSize (except for the final chunk, which may be shorter).
//
// A chunk-aligned reader is good for caching, letting upper layers have
// any access pattern, but guarantees that the wrapped ReaderAt sees
// only nicely-cacheable access patterns & sizes.
func NewChunkAlignedReaderAt(r SizeReaderAt, chunkSize int) SizeReaderAt {
// ...
return nil // OMIT
}
// END_DOC OMIT