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 #ifndef BASE_TEST_SIMPLE_TEST_TICK_CLOCK_H_ | 5 #ifndef BASE_TEST_SIMPLE_TEST_TICK_CLOCK_H_ |
6 #define BASE_TEST_SIMPLE_TEST_TICK_CLOCK_H_ | 6 #define BASE_TEST_SIMPLE_TEST_TICK_CLOCK_H_ |
7 | 7 |
8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
9 #include "base/synchronization/lock.h" | 9 #include "base/synchronization/lock.h" |
10 #include "base/time/tick_clock.h" | 10 #include "base/time/tick_clock.h" |
11 #include "base/time/time.h" | 11 #include "base/time/time.h" |
12 | 12 |
13 namespace base { | 13 namespace base { |
14 | 14 |
15 // SimpleTestTickClock is a TickClock implementation that gives | 15 // SimpleTestTickClock is a TickClock implementation that gives |
16 // control over the returned TimeTicks objects. All methods may be | 16 // control over the returned TimeTicks objects. All methods may be |
17 // called from any thread. | 17 // called from any thread. |
18 class SimpleTestTickClock : public TickClock { | 18 class SimpleTestTickClock : public TickClock { |
19 public: | 19 public: |
20 // Starts off with a clock set to TimeTicks(). | 20 // Starts off with a clock set to TimeTicks(). |
21 SimpleTestTickClock(); | 21 SimpleTestTickClock(); |
22 SimpleTestTickClock(int64_t initial); | |
Paweł Hajdan Jr.
2015/05/26 11:30:25
Why are these additional ctors needed?
Ankur Verma
2015/05/26 12:58:29
These are convenience ctors really, for usage unde
| |
23 SimpleTestTickClock(TimeTicks initial); | |
22 ~SimpleTestTickClock() override; | 24 ~SimpleTestTickClock() override; |
23 | 25 |
24 TimeTicks NowTicks() override; | 26 TimeTicks NowTicks() override; |
27 void Set(TimeTicks time); | |
Paweł Hajdan Jr.
2015/05/26 11:30:25
Why is Set needed?
Ankur Verma
2015/05/26 12:58:29
Again meant for convenient usage under cctests. Ca
| |
25 | 28 |
26 // Advances the clock by |delta|, which must not be negative. | 29 // Advances the clock by |delta|, which must not be negative. |
27 void Advance(TimeDelta delta); | 30 void Advance(TimeDelta delta); |
28 | 31 |
32 // Convenience functions to make the now source easier to use in unit | |
Paweł Hajdan Jr.
2015/05/26 11:30:25
I don't see a reason enough for these convenience
Ankur Verma
2015/05/26 12:58:29
I understand SimpleTestTickClock must be as simple
| |
33 // tests. | |
34 void AdvanceMicroseconds(int64_t period_in_microseconds); | |
35 void SetMicroseconds(int64_t time_in_microseconds); | |
36 | |
29 private: | 37 private: |
30 // Protects |now_ticks_|. | 38 // Protects |now_ticks_|. |
31 Lock lock_; | 39 Lock lock_; |
32 | 40 |
33 TimeTicks now_ticks_; | 41 TimeTicks now_ticks_; |
34 }; | 42 }; |
35 | 43 |
36 } // namespace base | 44 } // namespace base |
37 | 45 |
38 #endif // BASE_TEST_SIMPLE_TEST_TICK_CLOCK_H_ | 46 #endif // BASE_TEST_SIMPLE_TEST_TICK_CLOCK_H_ |
OLD | NEW |