/// <summary> /// Awaits the termination. /// </summary> /// <param name="timeout">The timeout.</param> public void AwaitTermination(TimeSpan timeout) { _liveMode = LiveMode.STOPPING; long endTime = DateTime.Now.Ticks + ((long)timeout.TotalMilliseconds) * 10000; long nowTime; long taskCount; do { taskCount = _taskQueue.Count + Interlocked.Read(ref _tasksRunning); Log.Debug(".AwaitTermination - Instance {0} waiting for {1} tasks to complete", _id, taskCount); if (taskCount == 0) { break; } Thread.Sleep(10); nowTime = DateTime.Now.Ticks; } while (nowTime < endTime); _liveMode = LiveMode.STOPPED; Log.Debug(".AwaitTermination - Instance {0} ending for {1} tasks to complete", _id, taskCount); }
public override int GetHashCode() { unchecked { int hash = 17; hash = hash * 23 + Object.GetHashCode(); hash = hash * 23 + Id.GetHashCode(); hash = hash * 23 + LiveMode.GetHashCode(); hash = hash * 23 + Location.GetHashCode(); hash = hash * 23 + Created.GetHashCode(); hash = hash * 23 + Deleted.GetHashCode(); return(hash); } }
/// <summary> /// Initializes a new instance of the <see cref="DedicatedExecutorService"/> class. /// </summary> /// <param name="label">The label.</param> /// <param name="numThreads">The num threads.</param> /// <param name="taskQueue">The task queue.</param> public DedicatedExecutorService(string label, int numThreads, IBlockingQueue <Runnable> taskQueue) { _id = Guid.NewGuid(); _numThreads = numThreads; _threads = new Thread[numThreads]; _tasksRunning = 0L; _taskQueue = taskQueue; _liveMode = LiveMode.RUN; _numExecuted = 0L; for (int ii = 0; ii < _numThreads; ii++) { _threads[ii] = new Thread(HandleTasksInQueue); _threads[ii].Name = "DE:" + label + ":" + _id + ":" + ii; _threads[ii].IsBackground = true; _threads[ii].Start(); } }
private void LoadInternal(string fileName) { _iniFile = new INIFile(fileName); foreach (PropertyDescriptor item in TypeDescriptor.GetProperties(this)) { if (item.IsBrowsable) { switch (item.Name) { case "Launch": Launch.LoadSection("Launch", _iniFile); break; case "Activate": Activate.LoadSection("Activate", _iniFile); break; case "LiveMode": LiveMode.LoadSection("LiveMode", _iniFile); break; case "Environment": Environment.LoadSection("Environment", _iniFile); break; case "RegistryKeys": RegistryKeys.LoadSection("RegistryKeys", _iniFile); break; case "RegistryValueWrite": RegistryValueWrite.LoadSection("RegistryValueWrite", _iniFile); break; case "RegistryCleanupIfEmpty": RegistryCleanupIfEmpty.LoadSection("RegistryCleanupIfEmpty", _iniFile); break; case "RegistryCleanupForce": RegistryCleanupForce.LoadSection("RegistryCleanupForce", _iniFile); break; case "RegistryValueBackupDelete": RegistryValueBackupDelete.LoadSection("RegistryValueBackupDelete", _iniFile); break; case "RegistrationFreeCOM": RegistrationFreeCOM.LoadSection("RegistrationFreeCOM", _iniFile); break; case "QtKeysCleanup": QtKeysCleanup.LoadSection("QtKeysCleanup", _iniFile); break; case "FileWriteN": FileWriteN.LoadSection("FileWrite", _iniFile); break; case "FilesMove": FilesMove.LoadSection("FilesMove", _iniFile); break; case "DirectoriesMove": DirectoriesMove.LoadSection("DirectoriesMove", _iniFile); break; case "DirectoriesCleanupIfEmpty": DirectoriesCleanupIfEmpty.LoadSection("DirectoriesCleanupIfEmpty", _iniFile); break; case "DirectoriesCleanupForce": DirectoriesCleanupForce.LoadSection("DirectoriesCleanupForce", _iniFile); break; case "Language": Language.LoadSection("Language", _iniFile); break; case "LanguageStrings": LanguageStrings.LoadSection("LanguageStrings", _iniFile); break; case "LanguageFile": LanguageFile.LoadSection("LanguageFile", _iniFile); break; case "DirectoriesLink": DirectoriesLink.LoadSection("DirectoriesLink", _iniFile); break; } } } }
public TreeNode BuildLaunchTreeUI() { TreeNode rootNode = new TreeNode(); foreach (PropertyDescriptor item in TypeDescriptor.GetProperties(this)) { if (item.IsBrowsable) { switch (item.Name) { case "Launch": { var topNode = Launch.BuildTreeUI("Launch", rootNode); topNode.Expand(); } break; case "Activate": { var topNode = Activate.BuildTreeUI("Activate", rootNode); topNode.Expand(); } break; case "LiveMode": { var topNode = LiveMode.BuildTreeUI("LiveMode", rootNode); topNode.Expand(); } break; //case "Environment": // { // var topNode = Environment.BuildTreeUI("Environment", rootNode); // topNode.Expand(); // } // break; //case "QtKeysCleanup": // { // var topNode = QtKeysCleanup.BuildTreeUI("QtKeysCleanup", rootNode); // topNode.Expand(); // } // break; case "FileWriteN": { TreeNode topNode = new TreeNode("FileWriteN"); foreach (var fileWriteSection in FileWriteN) { fileWriteSection.BuildTreeUI(fileWriteSection.SectionName, topNode); } rootNode.Nodes.Add(topNode); topNode.Expand(); } break; case "Language": { var topNode = Language.BuildTreeUI("Language", rootNode); topNode.Expand(); } break; case "LanguageStrings": { var topNode = LanguageStrings.BuildTreeUI("LanguageStrings", rootNode); topNode.Expand(); } break; case "LanguageFile": { var topNode = LanguageFile.BuildTreeUI("LanguageFile", rootNode); topNode.Expand(); } break; } } } return(rootNode); }
/// <summary> /// Shutdowns this instance. /// </summary> public void Shutdown() { _liveMode = LiveMode.STOPPING; Log.Debug(".Shutdown - Marking instance " + _id + " to avoid further queuing"); }
public void Save() { foreach (PropertyDescriptor item in TypeDescriptor.GetProperties(this)) { if (item.IsBrowsable) { switch (item.Name) { case "Launch": Launch.SaveSection("Launch", _iniFile); break; case "Activate": Activate.SaveSection("Activate", _iniFile); break; case "LiveMode": LiveMode.SaveSection("LiveMode", _iniFile); break; case "Environment": Environment.SaveSection("Environment", _iniFile); break; case "RegistryKeys": RegistryKeys.SaveSection("RegistryKeys", _iniFile); break; case "RegistryValueWrite": RegistryValueWrite.SaveSection("RegistryValueWrite", _iniFile); break; case "RegistryCleanupIfEmpty": RegistryCleanupIfEmpty.SaveSection("RegistryCleanupIfEmpty", _iniFile); break; case "RegistryCleanupForce": RegistryCleanupForce.SaveSection("RegistryCleanupForce", _iniFile); break; case "RegistryValueBackupDelete": RegistryValueBackupDelete.SaveSection("RegistryValueBackupDelete", _iniFile); break; case "RegistrationFreeCOM": RegistrationFreeCOM.SaveSection("RegistrationFreeCOM", _iniFile); break; case "QtKeysCleanup": QtKeysCleanup.SaveSection("QtKeysCleanup", _iniFile); break; case "FileWriteN": FileWriteN.SaveSection("FileWrite", _iniFile); break; case "FilesMove": FilesMove.SaveSection("FilesMove", _iniFile); break; case "DirectoriesMove": DirectoriesMove.SaveSection("DirectoriesMove", _iniFile); break; case "DirectoriesCleanupIfEmpty": DirectoriesCleanupIfEmpty.SaveSection("DirectoriesCleanupIfEmpty", _iniFile); break; case "DirectoriesCleanupForce": DirectoriesCleanupForce.SaveSection("DirectoriesCleanupForce", _iniFile); break; case "Language": Language.SaveSection("Language", _iniFile); break; case "LanguageStrings": LanguageStrings.SaveSection("LanguageStrings", _iniFile); break; case "LanguageFile": LanguageFile.SaveSection("LanguageFile", _iniFile); break; case "DirectoriesLink": DirectoriesLink.SaveSection("DirectoriesLink", _iniFile); break; case "PrefixPATHEnv": PrefixPATHEnv.SaveSection("PrefixPATHEnv", _iniFile); break; } } } }