/// <summary> /// Initializes a new instance of the <see cref="WorkPackage"/> class. /// </summary> /// <param name="name">The name.</param> /// <param name="nameInstance">The name instance.</param> /// <param name="workManager">The work manager.</param> /// <param name="watcher">The watcher.</param> /// <param name="parameters">The parameters.</param> /// <param name="data">The data.</param> internal WorkPackage(string name, string nameInstance, WorkManager workManager, ThreadWatcher watcher, NameValueCollection parameters, object data) { Name = name; NameInstance = nameInstance; WorkManager = workManager; Watcher = watcher; _parameters = parameters ?? new NameValueCollection(); _data = data; }
/// <summary> /// Initializes a new instance of the <see cref="WorkManager"/> class. /// </summary> /// <param name="registry">The registry.</param> /// <param name="resolver">The resolver.</param> /// <param name="notifier">The notifier.</param> public WorkManager(WorkManagerRegistry registry, IWorkManagerDependencyResolver resolver, Notification notifier) { _threadWatcher = new ThreadWatcher(this); _messageManager = new MessageManager(this); _workers = new List <IBaseWorker>(); _workManagerRegistry = registry; _workManagerRegistry.DependencyResolver = resolver; Disposed = false; ManagerRuntimeState = ManagerRuntimeStates.Stopped; Notification = notifier ?? new WorkManagerNotification(); }
/// <summary> /// Passives the sleep. /// </summary> /// <param name="sleep">The sleep.</param> protected override void PassiveSleep(int sleep) { ThreadWatcher.PassiveSleep(_threadWatcherInfo, sleep, ref _terminated); }