Exemplo n.º 1
0
        public void AllocCriticalSize()
        {
            AprAllocator a = AprAllocator.Create();

            Assert.IsFalse(a.IsNull, "#C01");

            AprMemNode m = AllocHelper(a, 256, "#C02");

            a.Free(m);

            AprMemNode m1 = AllocHelper(a, 512, "#C03");
            AprMemNode m2 = AllocHelper(a, 1024, "#C04");

            a.Free(m2);

            AprMemNode m3 = AllocHelper(a, 2048, "#C05");
            AprMemNode m4 = AllocHelper(a, 4096, "#C06");
            AprMemNode m5 = AllocHelper(a, 6148, "#C07");

            a.Free(m5);

            a.Free(m3);
            a.Free(m1);
            a.Free(m4);

            m1 = AllocHelper(a, 9216, "#D02");
            m2 = AllocHelper(a, 12265, "#D03");
            m3 = AllocHelper(a, 16384, "#D04");
            a.Free(m2);
            a.Free(m3);
            a.Free(m1);

            a.Destroy();
            Assert.IsTrue(a.IsNull, "#C08");
        }
Exemplo n.º 2
0
        public void AllocSimple()
        {
            AprAllocator a = AprAllocator.Create();

            Assert.IsFalse(a.IsNull, "#B01");

            AprMemNode m = AllocHelper(a, 256, "#B02");

            a.Free(m);

            a.Destroy();
            Assert.IsTrue(a.IsNull, "#B03");
        }
Exemplo n.º 3
0
        private AprMemNode AllocHelper(AprAllocator a, int size, string test)
        {
            AprMemNode m = a.Alloc(size);

            Assert.IsFalse(m.IsNull, test + "a");
            if ((size + 24) <= 8192)
            {
                Assert.AreEqual(1, m.NativeIndex, test + "c");
                Assert.AreEqual((8192 - 24), (m.EndP.ToInt32() - m.FirstAvail.ToInt32()), test + "d");
            }
            else
            {
                Assert.AreEqual((size - 4097 + 24) / 4096 + 1, m.NativeIndex, test + "c");
                Assert.AreEqual((m.NativeIndex - 1) * 4096 + (8192 - 24), (m.EndP.ToInt32() - m.FirstAvail.ToInt32()), test + "d");
            }
            return(m);
        }