Index: cc/raster/task.h |
diff --git a/cc/raster/task.h b/cc/raster/task.h |
index 54bcf8b6b1a508b9d31e50fa39e0a327f144513c..ba8daef10c64a9fee4e68d0c607fae6059c6e139 100644 |
--- a/cc/raster/task.h |
+++ b/cc/raster/task.h |
@@ -15,11 +15,27 @@ |
namespace cc { |
class Task; |
-// States to manage life cycle of a task. Task gets created with NEW state and |
-// concludes either in FINISHED or CANCELLED state. So possible life cycle |
-// paths for task are - |
-// NEW -> SCHEDULED -> RUNNING -> FINISHED |
-// NEW -> SCHEDULED -> CANCELED |
+// This class provides states to manage life cycle of a task and given below is |
+// how it is used by TaskGraphWorkQueue to process life cycle of a task. |
+// Task is in NEW state when it is created. When task is added to |
+// |ready_to_run_tasks| then its state is changed to SCHEDULED. Task can be |
+// canceled from NEW state (not yet scheduled to run) or from SCHEDULED state, |
+// when new ScheduleTasks() is triggered and its state is changed to CANCELED. |
+// When task is about to run it is added |running_tasks| and its state is |
+// changed to RUNNING. Once task finishes running, its state is changed to |
+// FINISHED. Both CANCELED and FINISHED tasks are added to |completed_tasks|. |
+// ╔═════╗ |
+// +------║ NEW ║------+ |
+// | ╚═════╝ | |
+// v v |
+// ┌───────────┐ ╔══════════╗ |
+// │ SCHEDULED │------> ║ CANCELED ║ |
+// └───────────┘ ╚══════════╝ |
+// | |
+// v |
+// ┌─────────┐ ╔══════════╗ |
+// │ RUNNING │-------> ║ FINISHED ║ |
+// └─────────┘ ╚══════════╝ |
class CC_EXPORT TaskState { |
public: |
bool IsScheduled() const; |