protected void DropWorkerThreadEvents(WorkerEventType workerEventType) { try { _lockWe.Wait(); if (workerEventType != WorkerEventType.None) { _workerEventList.RemoveAll(we => we.EventType == workerEventType); } } finally { _lockWe.Release(); } }
private WorkerEvent PopupWorkerThreadEvent(WorkerEventType workerEventType) { //выбираем задания из очереди, RedrawLayer имеет низший приоритет var res = WorkerEvent.Empty; try { _lockWe.Wait(); //если не задан тип задание, то ищем любой в соответствии с приоритетом) for (var i = EventPriorityTypeConverter.Length - 1; i >= 0; i--) { var item = i.ToEventPriorityType(); var tmp = _workerEventList.Find(we => we.EventPriority == item && (workerEventType == WorkerEventType.None || workerEventType == we.EventType)); if (tmp != null) { res = tmp; break; } } if (res != WorkerEvent.Empty) { //выбираем все/или одно задание данного типа(зависит от типа задания) if (res.IsCollapsible) { _workerEventList.RemoveAll(we => we.CompareTo(res) == 0); } else { _workerEventList.Remove(res); } } } finally { _lockWe.Release(); } return(res); }
public NetWorkerEvent(WorkerEventType eventType, EventPriorityType priorityType) : base(eventType, true, priorityType) { }
protected void PutWorkerThreadEvent(WorkerEventType workerEventType, bool isCollapsible, EventPriorityType priorityType) { PutWorkerThreadEvent(new WorkerEvent(workerEventType, isCollapsible, priorityType)); }
protected void PutWorkerThreadEvent(WorkerEventType workerEventType) { PutWorkerThreadEvent(new WorkerEvent(workerEventType, false, EventPriorityType.Normal)); }
public WorkerEvent(WorkerEventType pEventType, bool pIsCollapsible, EventPriorityType pPriorityType) { _eventType = pEventType; _collapsible = pIsCollapsible; _eventPriority = pPriorityType; }
private void PutMapThreadEvent(WorkerEventType eventType, GoogleBlock block, EventPriorityType priorityType) { PutWorkerThreadEvent(new MapWorkerEvent(eventType, block, priorityType)); }
public WorkerEvent(WorkerEventType pEventType) { _eventType = pEventType; _collapsible = false; _eventPriority = EventPriorityType.Normal; }
public WorkerEvent(WorkerEventType pEventType, bool pIsCollapsible) { _eventType = pEventType; _collapsible = pIsCollapsible; _eventPriority = EventPriorityType.Normal; }
public MapWorkerEvent(WorkerEventType eventType, TileBlock block, EventPriorityType priorityType) : base(eventType, true, priorityType) { Block = block; }
public WorkerEvent(WorkerEventType type, Worker worker) : base(EventType.WorkerEvent) { this.workerEventType = type; this.worker = worker; }
private void PutMapThreadEvent(WorkerEventType eventType, TileBlock block, EventPriorityType priorityType) { PutWorkerThreadEvent(new MapWorkerEvent(eventType, block, priorityType)); }
public MapWorkerEvent(WorkerEventType eventType, GoogleBlock block, EventPriorityType priorityType) : base(eventType, true, priorityType) { Block = block; }