public void TestAutoFlush() { using (IDataStreamer <int, int> ldr = _grid.GetDataStreamer <int, int>(CacheName)) { // Test auto flush turning on. var fut = ldr.GetCurrentBatchTask(); ldr.Add(1, 1); Thread.Sleep(100); Assert.IsFalse(fut.IsCompleted); ldr.AutoFlushInterval = TimeSpan.FromSeconds(1); fut.Wait(); // Test forced flush after frequency change. fut = ldr.GetCurrentBatchTask(); ldr.Add(2, 2); ldr.AutoFlushInterval = TimeSpan.MaxValue; fut.Wait(); // Test another forced flush after frequency change. fut = ldr.GetCurrentBatchTask(); ldr.Add(3, 3); ldr.AutoFlushInterval = TimeSpan.FromSeconds(1); fut.Wait(); // Test flush before stop. fut = ldr.GetCurrentBatchTask(); ldr.Add(4, 4); ldr.AutoFlushInterval = TimeSpan.Zero; fut.Wait(); // Test flush after second turn on. fut = ldr.GetCurrentBatchTask(); ldr.Add(5, 5); ldr.AutoFlushInterval = TimeSpan.FromSeconds(1); fut.Wait(); Assert.AreEqual(1, _cache.Get(1)); Assert.AreEqual(2, _cache.Get(2)); Assert.AreEqual(3, _cache.Get(3)); Assert.AreEqual(4, _cache.Get(4)); Assert.AreEqual(5, _cache.Get(5)); } }
public void TestCancel() { using (IDataStreamer <int, int> ldr = _grid.GetDataStreamer <int, int>(CacheName)) { var fut = ldr.GetCurrentBatchTask(); ldr.Add(1, 1); ldr.Close(true); Assert.IsTrue(fut.Wait(5000)); Assert.IsFalse(_cache.ContainsKey(1)); } }
public void TestClose() { using (IDataStreamer <int, int> ldr = _grid.GetDataStreamer <int, int>(CacheName)) { var fut = ldr.GetCurrentBatchTask(); ldr.Add(1, 1); ldr.Close(false); Assert.IsTrue(fut.Wait(5000)); Assert.AreEqual(1, _cache.Get(1)); } }