예제 #1
0
        public void TestConfig()
        {
            testName = "TestConfig";
            SetUpTest(false);

            // Config and confirm mpool subsystem configuration.
            MPoolConfig mpoolConfig = new MPoolConfig();
            XmlElement xmlElem = Configuration.TestSetUp(
                testFixtureName, testName);
            Config(xmlElem, ref mpoolConfig, true);
            Confirm(xmlElem, mpoolConfig, true);
        }
예제 #2
0
        public static void Confirm(XmlElement
		    xmlElement, MPoolConfig mpoolConfig, bool compulsory)
        {
            Configuration.ConfirmCacheSize(xmlElement,
                "CacheSize", mpoolConfig.CacheSize, compulsory);
            Configuration.ConfirmCacheSize(xmlElement,
                "MaxCacheSize", mpoolConfig.MaxCacheSize,
                compulsory);
            Configuration.ConfirmInt(xmlElement, "MaxOpenFiles",
                mpoolConfig.MaxOpenFiles, compulsory);
            Configuration.ConfirmUint(xmlElement,
                "MMapSize",
                mpoolConfig.MMapSize, compulsory);
            Configuration.ConfirmMaxSequentialWrites(xmlElement,
                "MaxSequentialWrites",
                mpoolConfig.SequentialWritePause,
                mpoolConfig.MaxSequentialWrites, compulsory);
        }
예제 #3
0
        public static void Config(XmlElement
		    xmlElement, ref MPoolConfig mpoolConfig, bool compulsory)
        {
            uint uintValue = new uint();
            int intValue = new int();

            Configuration.ConfigCacheInfo(xmlElement,
                "CacheSize", ref mpoolConfig.CacheSize, compulsory);
            Configuration.ConfigCacheInfo(xmlElement,
                "MaxCacheSize", ref mpoolConfig.MaxCacheSize,
                compulsory);
            if (Configuration.ConfigInt(xmlElement, "MaxOpenFiles",
                ref intValue, compulsory))
                mpoolConfig.MaxOpenFiles = intValue;
            Configuration.ConfigMaxSequentialWrites(
                xmlElement, "MaxSequentialWrites", mpoolConfig,
                compulsory);
            if (Configuration.ConfigUint(xmlElement,
                "MMapSize", ref uintValue, compulsory))
                mpoolConfig.MMapSize = uintValue;
        }
예제 #4
0
        public static bool ConfigMaxSequentialWrites(
		    XmlElement xmlElem, string name, 
		    MPoolConfig mpoolConfig, bool compulsory)
        {
            XmlNode xmlNode;
            uint pause;
            int writes;

            xmlNode = XMLReader.GetNode(xmlElem, name);
            if (xmlNode == null && compulsory == false)
                return false;
            else if (xmlNode == null && compulsory == true)
                throw new ConfigNotFoundException(name);

            pause = uint.Parse(XMLReader.GetNode(
                (XmlElement)xmlNode, "pause").InnerText);
            writes = int.Parse(XMLReader.GetNode(
                (XmlElement)xmlNode,"maxWrites").InnerText);
            mpoolConfig.SetMaxSequentialWrites(writes, pause);
            return true;
        }