Terradue.OpenSearch.Filters.OpenSearchMemoryCache.CreatePolicy C# (CSharp) Method

CreatePolicy() protected method

Creates the policy.
protected CreatePolicy ( OpenSearchResponseCacheItem item, OpenSearchRequest request ) : System.Runtime.Caching.CacheItemPolicy
item OpenSearchResponseCacheItem Item.
request Terradue.OpenSearch.Request.OpenSearchRequest
return System.Runtime.Caching.CacheItemPolicy
        protected CacheItemPolicy CreatePolicy(OpenSearchResponseCacheItem item, OpenSearchRequest request)
        {
            CacheItemPolicy policy = new CacheItemPolicy();
            policy.AbsoluteExpiration = DateTime.UtcNow.Add(item.OpenSearchResponse.Validity);
            log.DebugFormat("OpenSearch Cache [prepare to store] AbsoluteExpiration {1} {0}", item.OpenSearchUrl, policy.AbsoluteExpiration);
            policy.RemovedCallback = new CacheEntryRemovedCallback(this.EntryRemovedCallBack);
            if (item.OpenSearchResponse.Entity is IMonitoredOpenSearchable) {
                IMonitoredOpenSearchable mos = (IMonitoredOpenSearchable)item.OpenSearchResponse.Entity;
                var monitor = new OpenSearchableChangeMonitor(mos, request);
                log.DebugFormat("OpenSearch Cache [prepare to store] Monitor {1} {0}  ", item.OpenSearchUrl, monitor.UniqueId);
                policy.ChangeMonitors.Add(monitor);
            }
            return policy;
        }