Class LastSeenCacheTracker<TKey, TValue>
- Namespace
- FishMMO.Server.Core.Collections
- Assembly
- FishMMO.Server.dll
Queue/index tracker for key-value caches whose entries expire by last-seen timestamp. Optimized for high-frequency touch and bounded head-first TTL sweeps.
public sealed class LastSeenCacheTracker<TKey, TValue>
Type Parameters
TKeyCache key type.
TValueCache value type.
- Inheritance
-
LastSeenCacheTracker<TKey, TValue>
- Inherited Members
Constructors
LastSeenCacheTracker(IEqualityComparer<TKey>)
Initializes a new tracker with an optional key comparer.
public LastSeenCacheTracker(IEqualityComparer<TKey> comparer = null)
Parameters
comparerIEqualityComparer<TKey>
Methods
Clear()
Clears all cached entries.
public void Clear()
Remove(TKey)
Removes a cached key if present.
public void Remove(TKey key)
Parameters
keyTKey
SweepExpired(DateTime, TimeSpan, int, int)
Sweeps entries whose last-seen exceeds the provided TTL.
public int SweepExpired(DateTime nowUtc, TimeSpan ttl, int maxScan, int maxRemove)
Parameters
Returns
TryGetAndTouch(TKey, DateTime, out TValue)
Tries to get a cached value and refreshes its last-seen timestamp.
public bool TryGetAndTouch(TKey key, DateTime nowUtc, out TValue value)
Parameters
keyTKeynowUtcDateTimevalueTValue
Returns
Upsert(TKey, TValue, DateTime)
Inserts or updates a cached value and sets its last-seen timestamp.
public void Upsert(TKey key, TValue value, DateTime nowUtc)
Parameters
keyTKeyvalueTValuenowUtcDateTime