OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 // | 4 // |
5 // Common utilities for Quic tests | 5 // Common utilities for Quic tests |
6 | 6 |
7 #ifndef NET_QUIC_TEST_TOOLS_TEST_TASK_RUNNER_H_ | 7 #ifndef NET_QUIC_TEST_TOOLS_TEST_TASK_RUNNER_H_ |
8 #define NET_QUIC_TEST_TOOLS_TEST_TASK_RUNNER_H_ | 8 #define NET_QUIC_TEST_TOOLS_TEST_TASK_RUNNER_H_ |
9 | 9 |
10 #include <vector> | 10 #include <vector> |
(...skipping 16 matching lines...) Expand all Loading... |
27 explicit TestTaskRunner(MockClock* clock); | 27 explicit TestTaskRunner(MockClock* clock); |
28 | 28 |
29 // base::TaskRunner implementation. | 29 // base::TaskRunner implementation. |
30 bool PostDelayedTask(const tracked_objects::Location& from_here, | 30 bool PostDelayedTask(const tracked_objects::Location& from_here, |
31 base::OnceClosure task, | 31 base::OnceClosure task, |
32 base::TimeDelta delay) override; | 32 base::TimeDelta delay) override; |
33 bool RunsTasksOnCurrentThread() const override; | 33 bool RunsTasksOnCurrentThread() const override; |
34 | 34 |
35 const std::vector<PostedTask>& GetPostedTasks() const; | 35 const std::vector<PostedTask>& GetPostedTasks() const; |
36 | 36 |
| 37 // Finds the next task to run, advances the time to the correct time |
| 38 // and then runs the task. |
37 void RunNextTask(); | 39 void RunNextTask(); |
38 | 40 |
| 41 // While there are posted tasks, finds the next task to run, advances the |
| 42 // time to the correct time and then runs the task. |
| 43 void RunUntilIdle(); |
| 44 |
39 protected: | 45 protected: |
40 ~TestTaskRunner() override; | 46 ~TestTaskRunner() override; |
41 | 47 |
42 private: | 48 private: |
43 std::vector<PostedTask>::iterator FindNextTask(); | 49 std::vector<PostedTask>::iterator FindNextTask(); |
44 | 50 |
45 MockClock* const clock_; | 51 MockClock* const clock_; |
46 std::vector<PostedTask> tasks_; | 52 std::vector<PostedTask> tasks_; |
47 | 53 |
48 DISALLOW_COPY_AND_ASSIGN(TestTaskRunner); | 54 DISALLOW_COPY_AND_ASSIGN(TestTaskRunner); |
49 }; | 55 }; |
50 | 56 |
51 } // namespace test | 57 } // namespace test |
52 | 58 |
53 } // namespace net | 59 } // namespace net |
54 | 60 |
55 #endif // NET_QUIC_TEST_TOOLS_TEST_TASK_RUNNER_H_ | 61 #endif // NET_QUIC_TEST_TOOLS_TEST_TASK_RUNNER_H_ |
OLD | NEW |