Add Index.Packs() and IDSet.Equals()

This commit is contained in:
Alexander Neumann
2015-10-25 15:28:01 +01:00
parent 4b1a2caea7
commit d9f9b77d68
3 changed files with 49 additions and 0 deletions

View File

@@ -205,6 +205,19 @@ func (idx *Index) Each(done chan struct{}) <-chan PackedBlob {
return ch
}
// Packs returns all packs in this index
func (idx *Index) Packs() backend.IDSet {
idx.m.Lock()
defer idx.m.Unlock()
packs := backend.NewIDSet()
for _, entry := range idx.pack {
packs.Insert(entry.packID)
}
return packs
}
// Count returns the number of blobs of type t in the index.
func (idx *Index) Count(t pack.BlobType) (n uint) {
debug.Log("Index.Count", "counting blobs of type %v", t)