/// <summary> /// Disposes of or finalises the object. /// </summary> protected virtual void Dispose(bool disposing) { if (disposing) { _AltitudeHistoryMap.Dispose(); _PositionHistoryMap.Dispose(); } }
protected override IEnumerator <IYield> Stop(Result result) { _packagePath = null; _subscriptionLocation = null; foreach (var instance in _instances) { instance.Value.Dispose(); } _instances.Dispose(); _instances = null; yield return(Coroutine.Invoke(base.Stop, new Result())); result.Return(); }
public void Can_dispose_set() { var expired = new ManualResetEvent(false); var changed = new ManualResetEvent(false); var k = 42; var v = "foo"; var ttl = TimeSpan.FromSeconds(1); ExpiringDictionary <int, string> .Entry entry = null; var set = new ExpiringDictionary <int, string>(TaskTimerFactory.Current); set.EntryExpired += (s, e) => { entry = e.Entry; expired.Set(); }; set.CollectionChanged += (s, e) => changed.Set(); set.Set(k, v, ttl); set.Dispose(); Assert.IsTrue(changed.WaitOne(2000)); Assert.IsFalse(expired.WaitOne(2000)); }
public void Disposing_set_expires_all_items_before_dispose_returns_but_does_not_trigger_collection_changed() { var expired = false; var changed = false; var expiredEntries = new List <string>(); var ttl = TimeSpan.FromSeconds(1); var set = new ExpiringDictionary <int, string>(TaskTimerFactory.Current); set.EntryExpired += (s, e) => { expiredEntries.Add(e.Entry.Key + ":" + e.Entry.Value); expired = true; }; set.CollectionChanged += (s, e) => { changed = true; }; set.Set(12, "foo", ttl); set.Set(21, "bar", ttl); Assert.IsFalse(expired, "expired was triggered"); Assert.IsTrue(changed, "changed wasn't triggered"); changed = false; set.Dispose(); Assert.IsFalse(changed, "changed was triggered"); Assert.IsTrue(expired, "expired wasn't triggered"); Assert.AreEqual(new[] { "12:foo", "21:bar" }, expiredEntries.OrderBy(x => x).ToArray()); }
public void Disposing_set_expires_all_items_before_dispose_returns_but_does_not_trigger_collection_changed() { var expired = false; var changed = false; var expiredEntries = new List<string>(); var ttl = TimeSpan.FromSeconds(1); var set = new ExpiringDictionary<int, string>(TaskTimerFactory.Current); set.EntryExpired += (s, e) => { expiredEntries.Add(e.Entry.Key + ":" + e.Entry.Value); expired = true; }; set.CollectionChanged += (s, e) => { changed = true; }; set.Set(12, "foo", ttl); set.Set(21, "bar", ttl); Assert.IsFalse(expired, "expired was triggered"); Assert.IsTrue(changed, "changed wasn't triggered"); changed = false; set.Dispose(); Assert.IsFalse(changed, "changed was triggered"); Assert.IsTrue(expired, "expired wasn't triggered"); Assert.AreEqual(new[] { "12:foo", "21:bar" }, expiredEntries.OrderBy(x => x).ToArray()); }
/// <summary> /// Dispose all values currently in the cache. /// </summary> public void Dispose() { _isDisposed = true; _flushTimer.Change(TimeSpan.MaxValue, TaskEnv.None); _cache.Dispose(); }
public void TestCleanup() { Factory.RestoreSnapshot(_OriginalFactory); _Map.Dispose(); }
public void Can_dispose_set() { var expired = new ManualResetEvent(false); var changed = new ManualResetEvent(false); var k = 42; var v = "foo"; var ttl = TimeSpan.FromSeconds(1); ExpiringDictionary<int, string>.Entry entry = null; var set = new ExpiringDictionary<int, string>(TaskTimerFactory.Current); set.EntryExpired += (s, e) => { entry = e.Entry; expired.Set(); }; set.CollectionChanged += (s, e) => changed.Set(); set.Set(k, v, ttl); set.Dispose(); Assert.IsTrue(changed.WaitOne(2000)); Assert.IsFalse(expired.WaitOne(2000)); }