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; } }
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); }
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); }
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); }