summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/net/dcsctp/timer/task_queue_timeout.cc
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/net/dcsctp/timer/task_queue_timeout.cc')
-rw-r--r--third_party/libwebrtc/net/dcsctp/timer/task_queue_timeout.cc24
1 files changed, 13 insertions, 11 deletions
diff --git a/third_party/libwebrtc/net/dcsctp/timer/task_queue_timeout.cc b/third_party/libwebrtc/net/dcsctp/timer/task_queue_timeout.cc
index 6c43640d39..7612f98f3a 100644
--- a/third_party/libwebrtc/net/dcsctp/timer/task_queue_timeout.cc
+++ b/third_party/libwebrtc/net/dcsctp/timer/task_queue_timeout.cc
@@ -14,6 +14,8 @@
#include "rtc_base/logging.h"
namespace dcsctp {
+using ::webrtc::TimeDelta;
+using ::webrtc::Timestamp;
TaskQueueTimeoutFactory::TaskQueueTimeout::TaskQueueTimeout(
TaskQueueTimeoutFactory& parent,
@@ -30,8 +32,8 @@ TaskQueueTimeoutFactory::TaskQueueTimeout::~TaskQueueTimeout() {
void TaskQueueTimeoutFactory::TaskQueueTimeout::Start(DurationMs duration_ms,
TimeoutID timeout_id) {
RTC_DCHECK_RUN_ON(&parent_.thread_checker_);
- RTC_DCHECK(timeout_expiration_ == TimeMs::InfiniteFuture());
- timeout_expiration_ = parent_.get_time_() + duration_ms;
+ RTC_DCHECK(timeout_expiration_.IsPlusInfinity());
+ timeout_expiration_ = parent_.Now() + duration_ms.ToTimeDelta();
timeout_id_ = timeout_id;
if (timeout_expiration_ >= posted_task_expiration_) {
@@ -43,7 +45,7 @@ void TaskQueueTimeoutFactory::TaskQueueTimeout::Start(DurationMs duration_ms,
return;
}
- if (posted_task_expiration_ != TimeMs::InfiniteFuture()) {
+ if (!posted_task_expiration_.IsPlusInfinity()) {
RTC_DLOG(LS_VERBOSE) << "New timeout duration is less than scheduled - "
"ghosting old delayed task.";
// There is already a scheduled delayed task, but its expiration time is
@@ -63,10 +65,10 @@ void TaskQueueTimeoutFactory::TaskQueueTimeout::Start(DurationMs duration_ms,
[timeout_id, this]() {
RTC_DLOG(LS_VERBOSE) << "Timout expired: " << timeout_id.value();
RTC_DCHECK_RUN_ON(&parent_.thread_checker_);
- RTC_DCHECK(posted_task_expiration_ != TimeMs::InfiniteFuture());
- posted_task_expiration_ = TimeMs::InfiniteFuture();
+ RTC_DCHECK(!posted_task_expiration_.IsPlusInfinity());
+ posted_task_expiration_ = Timestamp::PlusInfinity();
- if (timeout_expiration_ == TimeMs::InfiniteFuture()) {
+ if (timeout_expiration_.IsPlusInfinity()) {
// The timeout was stopped before it expired. Very common.
} else {
// Note that the timeout might have been restarted, which updated
@@ -74,10 +76,10 @@ void TaskQueueTimeoutFactory::TaskQueueTimeout::Start(DurationMs duration_ms,
// if it's not quite time to trigger the timeout yet, schedule a
// new delayed task with what's remaining and retry at that point
// in time.
- DurationMs remaining = timeout_expiration_ - parent_.get_time_();
- timeout_expiration_ = TimeMs::InfiniteFuture();
- if (*remaining > 0) {
- Start(remaining, timeout_id_);
+ TimeDelta remaining = timeout_expiration_ - parent_.Now();
+ timeout_expiration_ = Timestamp::PlusInfinity();
+ if (remaining > TimeDelta::Zero()) {
+ Start(DurationMs(remaining.ms()), timeout_id_);
} else {
// It has actually triggered.
RTC_DLOG(LS_VERBOSE)
@@ -93,7 +95,7 @@ void TaskQueueTimeoutFactory::TaskQueueTimeout::Stop() {
// As the TaskQueue doesn't support deleting a posted task, just mark the
// timeout as not running.
RTC_DCHECK_RUN_ON(&parent_.thread_checker_);
- timeout_expiration_ = TimeMs::InfiniteFuture();
+ timeout_expiration_ = Timestamp::PlusInfinity();
}
} // namespace dcsctp