flexmonster-mongo-connector
Version:
MongoDB connector for Flexmonster Pivot Table and Charts
21 lines • 931 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProbibalisticCacheStrategie = void 0;
class ProbibalisticCacheStrategie {
constructor() {
this.beta = 1;
}
isCacheStaled(cacheDataObject, timeToLive) {
return this.isProbabilisticCacheFlushNeeded(cacheDataObject, timeToLive, this.beta);
}
isProbabilisticCacheFlushNeeded(cachedDataObject, timeToLive, beta) {
if (cachedDataObject == null)
return true;
const randomPart = Math.log(Math.random());
const expectations = new Date().getTime() - cachedDataObject.computationTime * beta * randomPart;
const state = cachedDataObject.timeStamp + timeToLive * 1000 * 60;
return timeToLive > 0 && expectations > state;
}
}
exports.ProbibalisticCacheStrategie = ProbibalisticCacheStrategie;
//# sourceMappingURL=ProbibalisticCacheStrategie.js.map