rename chunk reader vars to make it easier to follow. (#508)

* rename chunk reader vars to make it easyer to understand.

Signed-off-by: Krasi Georgiev <kgeorgie@redhat.com>
This commit is contained in:
Krasi Georgiev 2019-01-29 20:46:12 +03:00 committed by GitHub
parent eb5034d5b0
commit ee99718ff6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -352,30 +352,31 @@ func (s *Reader) Size() int64 {
return s.size
}
// Chunk returns a chunk from a given reference.
func (s *Reader) Chunk(ref uint64) (chunkenc.Chunk, error) {
var (
seq = int(ref >> 32)
off = int((ref << 32) >> 32)
sgmSeq = int(ref >> 32)
sgmOffset = int((ref << 32) >> 32)
)
if seq >= len(s.bs) {
return nil, errors.Errorf("reference sequence %d out of range", seq)
if sgmSeq >= len(s.bs) {
return nil, errors.Errorf("reference sequence %d out of range", sgmSeq)
}
b := s.bs[seq]
chkS := s.bs[sgmSeq]
if off >= b.Len() {
return nil, errors.Errorf("offset %d beyond data size %d", off, b.Len())
if sgmOffset >= chkS.Len() {
return nil, errors.Errorf("offset %d beyond data size %d", sgmOffset, chkS.Len())
}
// With the minimum chunk length this should never cause us reading
// over the end of the slice.
r := b.Range(off, off+binary.MaxVarintLen32)
chk := chkS.Range(sgmOffset, sgmOffset+binary.MaxVarintLen32)
l, n := binary.Uvarint(r)
chkLen, n := binary.Uvarint(chk)
if n <= 0 {
return nil, errors.Errorf("reading chunk length failed with %d", n)
}
r = b.Range(off+n, off+n+1+int(l))
chk = chkS.Range(sgmOffset+n, sgmOffset+n+1+int(chkLen))
return s.pool.Get(chunkenc.Encoding(r[0]), r[1:1+l])
return s.pool.Get(chunkenc.Encoding(chk[0]), chk[1:1+chkLen])
}
func nextSequenceFile(dir string) (string, int, error) {