MCPcopy
hub / github.com/kopia/kopia / findChunkIndexForOffset

Method findChunkIndexForOffset

repo/object/object_reader.go:131–152  ·  view source on GitHub ↗
(offset int64)

Source from the content-addressed store, hash-verified

129}
130
131func (r *objectReader) findChunkIndexForOffset(offset int64) (int, error) {
132 left := 0
133 right := len(r.seekTable) - 1
134
135 for left <= right {
136 middle := (left + right) / 2 //nolint:mnd
137
138 if offset < r.seekTable[middle].Start {
139 right = middle - 1
140 continue
141 }
142
143 if offset >= r.seekTable[middle].endOffset() {
144 left = middle + 1
145 continue
146 }
147
148 return middle, nil
149 }
150
151 return 0, errors.Errorf("can't find chunk for offset %v", offset)
152}
153
154func (r *objectReader) Seek(offset int64, whence int) (int64, error) {
155 if whence == io.SeekCurrent {

Callers 1

SeekMethod · 0.95

Calls 2

endOffsetMethod · 0.80
ErrorfMethod · 0.80

Tested by

no test coverage detected