예제 #1
0
 /// <summary>
 /// Sets the cancel flag.
 /// </summary>
 public void Cancel()
 {
     lock (this) { _parent = null; }
 }
예제 #2
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="parent"></param>
 /// <param name="interval"></param>
 internal AutoExpirationTask(ExpirationManager parent, long interval)
 {
     _parent   = parent;
     _interval = interval;
 }
예제 #3
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="parent"></param>
 /// <param name="interval"></param>
 internal AutoExpirationTask(ExpirationManager parent, long interval)
 {
     _parent = parent;
     _interval = interval;
 }
예제 #4
0
 /// <summary>
 /// Sets the cancel flag.
 /// </summary>
 public void Cancel()
 {
     lock (this) { _parent = null; }
 }
예제 #5
0
        /// <summary>
        /// Performs application-defined tasks associated with freeing, releasing, or 
        /// resetting unmanaged resources.
        /// </summary>
        /// <param name="disposing"></param>
        private void Dispose(bool disposing)
        {
            lock (this)
            {
                if (SerializationContext != null)
                {
                    CompactFormatterServices.UnregisterAllCustomCompactTypes(SerializationContext);
                }

                if (PerfStatsColl != null)
                {
                    PerfStatsColl.Dispose();
                    PerfStatsColl = null;
                }
                if (ExpiryMgr != null)
                {
                    ExpiryMgr.Dispose();
                    ExpiryMgr = null;
                }
                if (CacheImpl != null)
                {
                    CacheImpl.Dispose();
                    CacheImpl = null;
                }
                if (TimeSched != null)
                {
                    TimeSched.Dispose();
                    TimeSched = null;
                }
                if (AsyncProc != null)
                {
                    AsyncProc.Stop();
                    AsyncProc = null;
                }

                if (disposing) GC.SuppressFinalize(this);
            }
        }