Пример #1
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;
            }
        }
Пример #2
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);
        }
Пример #3
0
        public void TestConfig()
        {
            testName = "TestConfig";

            // 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);
        }
Пример #4
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);
 }
        public DefaultDatabaseEnvironmentConfig()
        {
            const string dataDir = "data";

            AutoCommit = false;
            Create = true;
            ErrorPrefix = "stash";
            UseLogging = true;
            UseTxns = true;
            FreeThreaded = true;
            RunRecovery = true;

            UseMPool = true;
            MPoolSystemCfg = new MPoolConfig {CacheSize = new CacheInfo(0, 128 * 1024, 1)};

            UseLocking = true;
            LockSystemCfg = new LockingConfig {DeadlockResolution = DeadlockPolicy.MIN_WRITE};

            CreationDir = dataDir;
            DataDirs.Add(dataDir);
        }