private void EnqueueInternal(Func <IFileCommand> factoryFunc, FileCommandsQueuePriority priority) { switch (priority) { case FileCommandsQueuePriority.Highest: _taskHighestQueue.Enqueue(factoryFunc); break; case FileCommandsQueuePriority.Normal: _taskNormalQueue.Enqueue(factoryFunc); break; case FileCommandsQueuePriority.Low: _taskLowQueue.Enqueue(factoryFunc); break; case FileCommandsQueuePriority.Transfer: EnqueueTransfer(factoryFunc); break; default: _taskNormalQueue.Enqueue(factoryFunc); break; } }
public void Enqueue(Func <IFileCommand> factoryFunc, FileCommandsQueuePriority priority = FileCommandsQueuePriority.Normal) { EnqueueInternal(factoryFunc, priority); _resetEventSlim.Set(); }