OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 #include "remoting/host/backoff_timer.h" | 5 #include "remoting/host/backoff_timer.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 namespace remoting { | 9 namespace remoting { |
10 | 10 |
11 BackoffTimer::BackoffTimer() : timer_(new base::Timer(false, false)) {} | 11 BackoffTimer::BackoffTimer() : timer_(new base::OneShotTimer) {} |
12 | 12 |
13 BackoffTimer::~BackoffTimer() {} | 13 BackoffTimer::~BackoffTimer() {} |
14 | 14 |
15 void BackoffTimer::Start(const tracked_objects::Location& posted_from, | 15 void BackoffTimer::Start(const tracked_objects::Location& posted_from, |
16 base::TimeDelta delay, | 16 base::TimeDelta delay, |
17 base::TimeDelta max_delay, | 17 base::TimeDelta max_delay, |
18 const base::Closure& user_task) { | 18 const base::Closure& user_task) { |
19 backoff_policy_.multiply_factor = 2; | 19 backoff_policy_.multiply_factor = 2; |
20 backoff_policy_.initial_delay_ms = delay.InMilliseconds(); | 20 backoff_policy_.initial_delay_ms = delay.InMilliseconds(); |
21 backoff_policy_.maximum_backoff_ms = max_delay.InMilliseconds(); | 21 backoff_policy_.maximum_backoff_ms = max_delay.InMilliseconds(); |
(...skipping 27 matching lines...) Expand all Loading... |
49 backoff_entry_->InformOfRequest(false); | 49 backoff_entry_->InformOfRequest(false); |
50 StartTimer(); | 50 StartTimer(); |
51 | 51 |
52 // Running the user task may destroy this object, so don't reference | 52 // Running the user task may destroy this object, so don't reference |
53 // any fields of this object after running it. | 53 // any fields of this object after running it. |
54 base::Closure user_task(user_task_); | 54 base::Closure user_task(user_task_); |
55 user_task.Run(); | 55 user_task.Run(); |
56 } | 56 } |
57 | 57 |
58 } // namespace remoting | 58 } // namespace remoting |
OLD | NEW |