ref: 94011e3762ca25b8ab3a9b9fe0d7a9e155381477
dir: /internal/lru/evict.go/
package lru
// OnEvictFunc runs when an entry leaves the cache.
//
// It is called for evictions, explicit removals, Clear, and replacement by Add.
type OnEvictFunc[K comparable, V any] func(key K, value V)
func (cache *Cache[K, V]) evictOverBudget() {
for cache.weight > cache.maxWeight {
elem := cache.lru.Front()
if elem == nil {
return
}
cache.removeElem(elem)
}
}