Add tile cache expiry infrastructure

This commit is contained in:
Tom Payne
2013-01-23 14:22:25 +01:00
parent 6d3e0778e1
commit b770aaa2f5
5 changed files with 35 additions and 0 deletions

View File

@@ -2,10 +2,12 @@ goog.provide('ol.renderer.Layer');
goog.require('goog.events');
goog.require('goog.events.EventType');
goog.require('ol.FrameState');
goog.require('ol.Object');
goog.require('ol.TileRange');
goog.require('ol.layer.Layer');
goog.require('ol.layer.LayerProperty');
goog.require('ol.source.TileSource');
@@ -128,6 +130,23 @@ ol.renderer.Layer.prototype.handleLayerSaturationChange = goog.nullFunction;
ol.renderer.Layer.prototype.handleLayerVisibleChange = goog.nullFunction;
/**
* @protected
* @param {ol.FrameState} frameState Frame state.
* @param {ol.source.TileSource} tileSource Tile source.
*/
ol.renderer.Layer.prototype.scheduleExpireCache =
function(frameState, tileSource) {
if (tileSource.canExpireCache()) {
frameState.postRenderFunctions.push(
goog.partial(function(tileSource, map, frameState) {
var tileSourceKey = goog.getUid(tileSource).toString();
tileSource.expireCache(frameState.usedTiles[tileSourceKey]);
}, tileSource));
}
};
/**
* @protected
* @param {Object.<string, Object.<string, ol.TileRange>>} usedTiles Used tiles.