in qf.go [422:444]
func findStart(dq uint64, size uint64, read readFn) uint64 {
// scan left to figure out how much to skip
runs, complete := 1, 0
for i := dq; true; left(&i, size) {
sd := slotData(read(i))
if !sd.continuation() {
complete++
}
if !sd.shifted() {
break
} else if sd.occupied() {
runs++
}
}
// scan right to find our run
for runs > complete {
right(&dq, size)
if !slotData(read(dq)).continuation() {
complete++
}
}
return dq
}