| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- //------------------------------------------------------------
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //------------------------------------------------------------
- namespace System.Runtime.Collections
- {
- class ObjectCacheSettings
- {
- int cacheLimit;
- TimeSpan idleTimeout;
- TimeSpan leaseTimeout;
- int purgeFrequency;
- const int DefaultCacheLimit = 64;
- const int DefaultPurgeFrequency = 32;
- static TimeSpan DefaultIdleTimeout = TimeSpan.FromMinutes(2);
- static TimeSpan DefaultLeaseTimeout = TimeSpan.FromMinutes(5);
- public ObjectCacheSettings()
- {
- this.CacheLimit = DefaultCacheLimit;
- this.IdleTimeout = DefaultIdleTimeout;
- this.LeaseTimeout = DefaultLeaseTimeout;
- this.PurgeFrequency = DefaultPurgeFrequency;
- }
- ObjectCacheSettings(ObjectCacheSettings other)
- {
- this.CacheLimit = other.CacheLimit;
- this.IdleTimeout = other.IdleTimeout;
- this.LeaseTimeout = other.LeaseTimeout;
- this.PurgeFrequency = other.PurgeFrequency;
- }
- internal ObjectCacheSettings Clone()
- {
- return new ObjectCacheSettings(this);
- }
- public int CacheLimit
- {
- get
- {
- return this.cacheLimit;
- }
- set
- {
- Fx.Assert(value >= 0, "caller should validate cache limit is non-negative");
- this.cacheLimit = value;
- }
- }
- public TimeSpan IdleTimeout
- {
- get
- {
- return this.idleTimeout;
- }
- set
- {
- Fx.Assert(value >= TimeSpan.Zero, "caller should validate cache limit is non-negative");
- this.idleTimeout = value;
- }
- }
- public TimeSpan LeaseTimeout
- {
- get
- {
- return this.leaseTimeout;
- }
- set
- {
- Fx.Assert(value >= TimeSpan.Zero, "caller should validate cache limit is non-negative");
- this.leaseTimeout = value;
- }
- }
- public int PurgeFrequency
- {
- get
- {
- return this.purgeFrequency;
- }
- set
- {
- Fx.Assert(value >= 0, "caller should validate purge frequency is non-negative");
- this.purgeFrequency = value;
- }
- }
- }
- }
|