public void CopyFrom(Array queue) { lock (_queue) { if ((queue.Length > 0) && ((queue.Length + _queue.Count) > 0)) { Array array = new WriteBehindAsyncProcessor.IWriteBehindTask[_queue.Count + queue.Length]; queue.CopyTo(array, 0); _queue.CopyTo(array, queue.Length); _queue = new ArrayList(array); } } }
public void UpdateState(string source) { lock (_queue) { for (int i = 0; i < _queue.Count; i++) { WriteBehindAsyncProcessor.IWriteBehindTask task = _queue[i] as WriteBehindAsyncProcessor.IWriteBehindTask; if ((task.Source == source) && (task.State == WriteBehindAsyncProcessor.TaskState.Wait)) { task.State = WriteBehindAsyncProcessor.TaskState.Execute; _queue[i] = task; } } } }
public void Remove(string taskId) { lock (_queue) { for (int i = _queue.Count - 1; i >= 0; i--) { WriteBehindAsyncProcessor.IWriteBehindTask task = _queue[i] as WriteBehindAsyncProcessor.IWriteBehindTask; if (task.TaskId == taskId) { _queue.RemoveAt(i); break; } } } }
public void UpdateState(string taskId, WriteBehindAsyncProcessor.TaskState state) { lock (_queue) { for (int i = _queue.Count - 1; i >= 0; i--) { WriteBehindAsyncProcessor.IWriteBehindTask task = _queue[i] as WriteBehindAsyncProcessor.IWriteBehindTask; if (task.TaskId == taskId) { task.State = state; _queue[i] = task; break; } } } }
public void UpdateState(Hashtable states) { lock (_queue) { int count = states.Count; int num = 0; int num2 = 0; while (num < _queue.Count) { WriteBehindAsyncProcessor.IWriteBehindTask task = _queue[num] as WriteBehindAsyncProcessor.IWriteBehindTask; if (states.ContainsKey(task.TaskId)) { task.State = (WriteBehindAsyncProcessor.TaskState)states[task.TaskId]; _queue[num] = task; if (states.Count == ++num2) { break; } } num++; } } }
public void Enqueue(WriteBehindAsyncProcessor.IWriteBehindTask task) { lock (_queue) _queue.Add(task); }