public Cache(Func <K, V> retrieveFunction, CacheSettings settings) { if (settings is null) { throw new ArgumentNullException(nameof(settings)); } _cached = new ConcurrentDictionary <K, CacheItem <V> >(); Retrieve = retrieveFunction; _retriever = Retrieve != null ? key => new CacheItem <V>(retrieveFunction(key)) : default(Func <K, CacheItem <V> >); Settings = settings.Clone(); _minimumCacheSize = (int)Math.Floor(Settings.MaxCacheSize * 0.9); }
public object Clone() { CacheServerConfig config = new CacheServerConfig(); config.cacheSettings = CacheSettings != null ? (CacheServerConfigSetting)CacheSettings.Clone() : null; config.cacheDeployment = CacheDeployment != null ? (CacheDeployment)CacheDeployment.Clone() : null; config.ConfigID = ConfigID; config.configVersion = configVersion; config.IsRegistered = this.IsRegistered; config.IsRunning = this.IsRunning; config.licenseIsExpired = this.licenseIsExpired; config.name = this.name; config._alias = this._alias; return(config); }
public object Clone() { CacheServerConfig config = new CacheServerConfig(); config.cacheSettings = CacheSettings != null ? (CacheServerConfigSetting)CacheSettings.Clone() : null; config.cacheDeployment = CacheDeployment != null ? (CacheDeployment)CacheDeployment.Clone() : null; config.Name = Name != null ? (string)Name.Clone() : null; config.IsRegistered = this.IsRegistered; config.IsRunning = this.IsRunning; config.licenseIsExpired = this.licenseIsExpired; return(config); }