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

Method idsFromBackwardMap

internal/freelist/hashmap.go:285–297  ·  view source on GitHub ↗

idsFromBackwardMap get all free page IDs from f.backwardMap. used by test only.

()

Source from the content-addressed store, hash-verified

283// idsFromBackwardMap get all free page IDs from f.backwardMap.
284// used by test only.
285func (f *hashMap) idsFromBackwardMap() map[common.Pgid]struct{} {
286 ids := make(map[common.Pgid]struct{})
287 for end, size := range f.backwardMap {
288 for i := 0; i < int(size); i++ {
289 id := end - common.Pgid(i)
290 if _, ok := ids[id]; ok {
291 panic(fmt.Sprintf("detected duplicated free page ID: %d in f.backwardMap: %v", id, f.backwardMap))
292 }
293 ids[id] = struct{}{}
294 }
295 }
296 return ids
297}
298
299func NewHashMapFreelist() Interface {
300 hm := &hashMap{

Callers 1

mergeSpansMethod · 0.95

Calls 1

PgidTypeAlias · 0.92

Tested by

no test coverage detected