Chromium Code Reviews| Index: cc/raster/task.h |
| diff --git a/cc/raster/task.h b/cc/raster/task.h |
| index 54bcf8b6b1a508b9d31e50fa39e0a327f144513c..6d2b6b85434254dd517aff9eab5a4eb5a53e0b5e 100644 |
| --- a/cc/raster/task.h |
| +++ b/cc/raster/task.h |
| @@ -16,16 +16,19 @@ 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 |
| +// if scheduled concludes in COMPLETED state. So possible life cycle paths for |
|
vmpstr
2016/05/18 19:08:33
you say here "if scheduled concludes in completed"
prashant.n
2016/05/19 00:59:52
This above path is for task which is not scheduled
|
| +// task are - |
| +// NEW |
|
vmpstr
2016/05/18 19:08:33
I don't think you need this one?
prashant.n
2016/05/19 00:59:52
We will omit this.
|
| +// NEW -> CANCELED -> COMPLETED |
| +// NEW -> SCHEDULED -> CANCELED-> COMPLETED |
| +// NEW -> SCHEDULED -> RUNNING -> FINISHED -> COMPLETED |
| class CC_EXPORT TaskState { |
| public: |
| bool IsScheduled() const; |
| bool IsRunning() const; |
| bool IsFinished() const; |
| bool IsCanceled() const; |
| + bool IsCompleted() const; |
| // Functions to change the state of task. These functions should be called |
| // only from TaskGraphWorkQueue where the life cycle of a task is decided or |
| @@ -37,6 +40,10 @@ class CC_EXPORT TaskState { |
| void DidFinish(); |
| void DidCancel(); |
| + // Task owner should call this function to indicate that this task is |
| + // completed and no more it should be processed. |
|
vmpstr
2016/05/18 19:08:33
s/no more it should be processed/it doesn't need t
prashant.n
2016/05/19 00:59:52
Ok, I'll modify this.
|
| + void DidComplete(); |
| + |
| private: |
| friend class Task; |
| @@ -44,7 +51,14 @@ class CC_EXPORT TaskState { |
| TaskState(); |
| ~TaskState(); |
| - enum class Value : uint16_t { NEW, SCHEDULED, RUNNING, FINISHED, CANCELED }; |
| + enum class Value : uint16_t { |
| + NEW, |
| + SCHEDULED, |
| + RUNNING, |
| + FINISHED, |
| + CANCELED, |
| + COMPLETED |
|
vmpstr
2016/05/18 19:08:33
In my mind the difference between "FINISHED" and "
prashant.n
2016/05/19 00:59:52
Yes. Finished and Completed are 2 sides of same co
|
| + }; |
| Value value_; |
| }; |