Ejemplo n.º 1
0
        public void CouldCreateGetDeleteProcessConfigRecord()
        {
            var path = TestUtils.GetPath(clear: true);

            ProcessConfig.Init(path);

            var ct = ProcessConfig.CurrentTime;

            var pcs = ProcessConfig.Storage;

            var pcr = pcs.CreateNew();

            var pcr1 = pcs.GetRecord(pcr.Wpid);

            Assert.AreEqual(pcr.Wpid, pcr1.Wpid);
            Assert.IsTrue(pcr._processBuffer.Data == pcr1._processBuffer.Data);

            var wpid = pcr1.Wpid;

            pcs.Delete(pcr1);

            var pcr2 = pcs.GetRecord(wpid);

            Assert.IsFalse(pcr2._processBuffer.IsValid);

            pcs.Dispose();
        }
Ejemplo n.º 2
0
        public void CouldAcquirePackerLock()
        {
            var path = TestUtils.GetPath();

            ProcessConfig.Init(path);
            var streamId = 42;

            StartupConfig.PackerTimeoutSeconds = 0.1;

            var stateTable = new StreamLogStateStorage(path);
            var state      = stateTable.GetState((StreamLogId)streamId);

            var pl  = state.AcquirePackerLock();
            var pl1 = state.AcquirePackerLock();

            Assert.IsTrue(pl > 0);
            Assert.IsTrue(pl1 == 0);

            var pl2 = state.AcquirePackerLock(pl);

            Assert.IsTrue(pl2 > pl);

            Thread.Sleep(200);

            var pl3 = state.AcquirePackerLock();
            var pl4 = state.AcquirePackerLock();

            Assert.IsTrue(pl3 > 0);
            Assert.IsTrue(pl4 == 0);

            stateTable.Dispose();
        }