func()

in pkg/store/simple_store.go [163:181]


func (s *simpleStore) Cleanup() {
	// ensure that Cleanup is an atomic operation
	s.mutex.Lock()
	defer s.mutex.Unlock()

	// iterate all keys in our map, and only delete unprotected
	var unreferencedItems []storeItem
	for _, item := range s.storeItems {
		if item.refCount < 1 {
			unreferencedItems = append(unreferencedItems, item)
		}
	}

	// now, delete the unprotected items
	for _, item := range unreferencedItems {
		s.fileSystem.RemoveAll(item.pathToItem)
		delete(s.storeItems, item.key)
	}
}