MCPcopy
hub / github.com/etcd-io/bbolt / idsFromForwardMap

Method idsFromForwardMap

internal/freelist/hashmap.go:269–281  ·  view source on GitHub ↗

idsFromForwardMap get all free page IDs from f.forwardMap. used by test only.

()

Source from the content-addressed store, hash-verified

267// idsFromForwardMap get all free page IDs from f.forwardMap.
268// used by test only.
269func (f *hashMap) idsFromForwardMap() map[common.Pgid]struct{} {
270 ids := make(map[common.Pgid]struct{})
271 for start, size := range f.forwardMap {
272 for i := 0; i < int(size); i++ {
273 id := start + common.Pgid(i)
274 if _, ok := ids[id]; ok {
275 panic(fmt.Sprintf("detected duplicated free page ID: %d in f.forwardMap: %v", id, f.forwardMap))
276 }
277 ids[id] = struct{}{}
278 }
279 }
280 return ids
281}
282
283// idsFromBackwardMap get all free page IDs from f.backwardMap.
284// used by test only.

Callers 1

mergeSpansMethod · 0.95

Calls 1

PgidTypeAlias · 0.92

Tested by

no test coverage detected