processingCacheAdmissionReason static method
Implementation
static ChartDataCacheAdmissionReason processingCacheAdmissionReason(
List<Series> series, {
bool? useCache,
int? startIndex,
int? endIndex,
ChartDataProcessingCachePolicySnapshot? policy,
}) {
final cachePolicy =
policy ?? ChartDataProcessingCachePolicySnapshot.fromCurrentConfig();
if (useCache != null) {
if (!useCache) return ChartDataCacheAdmissionReason.forcedOff;
if (cachePolicy.maxEntries <= 0) {
return ChartDataCacheAdmissionReason.noEntryCapacity;
}
if (cachePolicy.maxBytes <= 0) {
return ChartDataCacheAdmissionReason.noByteCapacity;
}
return ChartDataCacheAdmissionReason.forcedOn;
}
if (!cachePolicy.enabled) {
return ChartDataCacheAdmissionReason.disabled;
}
if (cachePolicy.maxEntries <= 0) {
return ChartDataCacheAdmissionReason.noEntryCapacity;
}
if (cachePolicy.maxBytes <= 0) {
return ChartDataCacheAdmissionReason.noByteCapacity;
}
final effectivePointCount = effectiveDataPointCount(
series,
startIndex: startIndex,
endIndex: endIndex,
);
if (effectivePointCount <= 0) {
return ChartDataCacheAdmissionReason.emptyEffectiveWindow;
}
if (effectivePointCount < cachePolicy.minPointCount) {
return ChartDataCacheAdmissionReason.belowEffectivePointThreshold;
}
return ChartDataCacheAdmissionReason.eligible;
}