blob: 644c3fe250c39886233c0e3aa8e14d957b4d446e [file] [log] [blame]
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