lruFrequentlyAccessedCondition function
HiCond
lruFrequentlyAccessedCondition({})
Creates an LRU condition based on access count threshold.
Returns true when access count >= minAccessCount.
Useful for keeping frequently accessed entries.
Parameters
name: Condition name, defaults to 'lru:frequentlyAccessed'metaKey: Key in ctx.data for metadataaccessCountKey: Key in meta for access countminAccessCount: Minimum accesses to be considered "frequent"
Implementation
HiCond<dynamic> lruFrequentlyAccessedCondition({
String name = 'lru:frequentlyAccessed',
String metaKey = 'meta',
String accessCountKey = 'access_count',
required int minAccessCount,
}) {
return HiCond<dynamic>(
name: name,
isStable: true, // Only changes when access_count changes
predicate: (payload, data) {
final meta = data[metaKey] as Map<String, dynamic>?;
if (meta == null) return false; // No meta = not frequent
final accessCount = meta[accessCountKey] as int? ?? 0;
return accessCount >= minAccessCount;
},
);
}