public void RequestTask(Chunk chunk, ChunkTaskType taskType, ChunkTaskPriority priority) { var request = requestPool.Borrow(); request.Initialize(chunk, taskType, priority); requests.Enqueue(request); }
internal void Initialize(Chunk chunk, ChunkTaskType taskType, ChunkTaskPriority priority) { if (chunk == null) throw new ArgumentNullException("chunk"); this.chunk = chunk; this.taskType = taskType; this.priority = priority; timestamp = TimeSpan.FromTicks(Environment.TickCount); }
public void RegisterTask(ChunkTaskType taskType, ChunkTask task) { if (task == null) { throw new ArgumentNullException("task"); } task.Initialize(this, taskCallbackMethod); tasks[taskType] = task; }
internal void Initialize(Chunk chunk, ChunkTaskType taskType, ChunkTaskPriority priority) { if (chunk == null) { throw new ArgumentNullException("chunk"); } this.chunk = chunk; this.taskType = taskType; this.priority = priority; timestamp = TimeSpan.FromTicks(Environment.TickCount); }