aboutsummaryrefslogtreecommitdiffstats
path: root/evict.go
diff options
context:
space:
mode:
authorMarc Pervaz Boocha <marcpervaz@qburst.com>2025-03-03 11:22:32 +0530
committerMarc Pervaz Boocha <marcpervaz@qburst.com>2025-03-03 11:22:32 +0530
commitce850da379785f471109a6d2ba4e34eee7a15eed (patch)
tree50632fb938d19164d5bcdef7564fe83d508a6736 /evict.go
parentImproved Concurency Part1 (diff)
downloadcache-ce850da379785f471109a6d2ba4e34eee7a15eed.tar
cache-ce850da379785f471109a6d2ba4e34eee7a15eed.tar.gz
cache-ce850da379785f471109a6d2ba4e34eee7a15eed.tar.bz2
cache-ce850da379785f471109a6d2ba4e34eee7a15eed.tar.lz
cache-ce850da379785f471109a6d2ba4e34eee7a15eed.tar.xz
cache-ce850da379785f471109a6d2ba4e34eee7a15eed.tar.zst
cache-ce850da379785f471109a6d2ba4e34eee7a15eed.zip
Improved Concurency
Diffstat (limited to 'evict.go')
-rw-r--r--evict.go6
1 files changed, 4 insertions, 2 deletions
diff --git a/evict.go b/evict.go
index 4ce577a..6b0aabc 100644
--- a/evict.go
+++ b/evict.go
@@ -48,7 +48,7 @@ func (e *evictionPolicy) SetPolicy(y EvictionPolicyType) error {
return fifoPolicy{List: e.Sentinel, ShouldEvict: false, Lock: e.ListLock}
},
PolicyFIFO: func() evictionStrategies {
- return fifoPolicy{List: e.Sentinel, Lock: e.ListLock}
+ return fifoPolicy{List: e.Sentinel, ShouldEvict: true, Lock: e.ListLock}
},
PolicyLRU: func() evictionStrategies {
return lruPolicy{List: e.Sentinel, Lock: e.ListLock}
@@ -67,6 +67,7 @@ func (e *evictionPolicy) SetPolicy(y EvictionPolicyType) error {
}
e.evictionStrategies = factory()
+ e.Type = y
return nil
}
@@ -139,7 +140,8 @@ func (s lruPolicy) OnAccess(n *node) {
n.EvictNext.EvictPrev = n.EvictPrev
n.EvictPrev.EvictNext = n.EvictNext
- s.OnInsert(n)
+
+ pushEvict(n, s.List)
}
// Evict returns the least recently used node for lruPolicy.