コード例 #1
0
 private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
 {
     m_Pile.WaitForCompleteStop();
     DisposableObject.DisposeAndNull(ref m_CLRStore);
     DisposableObject.DisposeAndNull(ref m_PileStore);
     DisposableObject.DisposeAndNull(ref m_CLRThreads);
     DisposableObject.DisposeAndNull(ref m_PileThreads);
 }
コード例 #2
0
        public void SimpleTest()
        {
            using (var m_pile = new DefaultPile())
            {
                m_pile.Start();
                var test = new LinkedListNode <int>(m_pile, 11);
                var pp1  = m_pile.Put(11);
                // var pp = m_pile.Put(test);
                // Console.WriteLine(pp);
                Console.WriteLine(test.Value);
                Aver.AreEqual(test.Value, 11);

                m_pile.WaitForCompleteStop();
            }
        }
コード例 #3
0
        public void EmptyTest()
        {
            using (var m_pile = new DefaultPile()
            {
                AllocMode = AllocationMode.FavorSpeed
            })
            {
                m_pile.Start();
                var test = m_pile.Put("TEST");
                Console.WriteLine(test);
                Console.WriteLine(m_pile.Get(test));

                m_pile.WaitForCompleteStop();
            }

            Aver.IsTrue(true);
        }
コード例 #4
0
 public void TearDown()
 {
     m_pile.WaitForCompleteStop();
 }
コード例 #5
0
ファイル: CacheTest.cs プロジェクト: mjaric/nfx
        public void T060_PileNonOwnership()
        {
            var pile = new DefaultPile();

            pile.Start();
            try
            {
                var cache = new LocalCache();
                cache.Pile = pile;
                cache.Configure(null);
                cache.Start();


                var tA = cache.GetOrCreateTable <string>("A");
                tA.Put("aaa", "avalue");
                tA.Put("bbb", "bvalue");
                Assert.AreEqual("avalue", tA.Get("aaa"));

                Assert.AreEqual(2, cache.Count);
                Assert.AreEqual(2, pile.ObjectCount);

                cache.WaitForCompleteStop();
                Assert.AreEqual(NFX.ServiceModel.ControlStatus.Inactive, cache.Status);

                Assert.AreEqual(NFX.ServiceModel.ControlStatus.Active, pile.Status);
                Assert.AreEqual(0, pile.ObjectCount);

                cache      = new LocalCache();
                cache.Pile = pile;
                cache.Configure(null);
                cache.Start();

                var tAbc = cache.GetOrCreateTable <string>("Abc");
                tAbc.Put("aaa", "avalue");
                tAbc.Put("bbb", "bvalue");
                tAbc.Put("ccc", "cvalue");
                tAbc.Put("ddd", "cvalue");

                Assert.AreEqual(4, pile.ObjectCount);

                var cache2 = new LocalCache();
                cache2.Pile = pile;
                cache2.Configure(null);
                cache2.Start();


                var t2 = cache2.GetOrCreateTable <string>("A");
                t2.Put("aaa", "avalue");
                t2.Put("bbb", "bvalue");

                Assert.AreEqual(2, cache2.Count);
                Assert.AreEqual(6, pile.ObjectCount);

                cache.WaitForCompleteStop();
                Assert.AreEqual(NFX.ServiceModel.ControlStatus.Active, pile.Status);
                Assert.AreEqual(2, pile.ObjectCount);

                cache2.WaitForCompleteStop();
                Assert.AreEqual(NFX.ServiceModel.ControlStatus.Active, pile.Status);
                Assert.AreEqual(0, pile.ObjectCount);

                pile.WaitForCompleteStop();
                Assert.AreEqual(NFX.ServiceModel.ControlStatus.Inactive, pile.Status);
            }
            finally
            {
                pile.Dispose();
            }
        }
コード例 #6
0
ファイル: PileForm.cs プロジェクト: rioka/nfx
 private void PileForm_FormClosed(object sender, FormClosedEventArgs e)
 {
     m_Pile.WaitForCompleteStop();
 }
コード例 #7
0
        public void T060_PileNonOwnership()
        {
            var pile = new DefaultPile(NOPApplication.Instance);

            pile.Start();
            try
            {
                var cache = new LocalCache(NOPApplication.Instance);
                cache.Pile = pile;
                cache.Configure(null);
                cache.Start();


                var tA = cache.GetOrCreateTable <string>("A");
                tA.Put("aaa", "avalue");
                tA.Put("bbb", "bvalue");
                Aver.AreObjectsEqual("avalue", tA.Get("aaa"));

                Aver.AreEqual(2, cache.Count);
                Aver.AreEqual(2, pile.ObjectCount);

                cache.WaitForCompleteStop();
                Aver.IsTrue(DaemonStatus.Inactive == cache.Status);

                Aver.IsTrue(DaemonStatus.Active == pile.Status);
                Aver.AreEqual(0, pile.ObjectCount);

                cache      = new LocalCache(NOPApplication.Instance);
                cache.Pile = pile;
                cache.Configure(null);
                cache.Start();

                var tAbc = cache.GetOrCreateTable <string>("Abc");
                tAbc.Put("aaa", "avalue");
                tAbc.Put("bbb", "bvalue");
                tAbc.Put("ccc", "cvalue");
                tAbc.Put("ddd", "cvalue");

                Aver.AreEqual(4, pile.ObjectCount);

                var cache2 = new LocalCache(NOPApplication.Instance);
                cache2.Pile = pile;
                cache2.Configure(null);
                cache2.Start();


                var t2 = cache2.GetOrCreateTable <string>("A");
                t2.Put("aaa", "avalue");
                t2.Put("bbb", "bvalue");

                Aver.AreEqual(2, cache2.Count);
                Aver.AreEqual(6, pile.ObjectCount);

                cache.WaitForCompleteStop();
                Aver.IsTrue(DaemonStatus.Active == pile.Status);
                Aver.AreEqual(2, pile.ObjectCount);

                cache2.WaitForCompleteStop();
                Aver.IsTrue(DaemonStatus.Active == pile.Status);
                Aver.AreEqual(0, pile.ObjectCount);

                pile.WaitForCompleteStop();
                Aver.IsTrue(DaemonStatus.Inactive == pile.Status);
            }
            finally
            {
                pile.Dispose();
            }
        }