xref: /aosp_15_r20/external/cronet/net/quic/quic_clock_skew_detector.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 // Copyright 2012 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "net/quic/quic_clock_skew_detector.h"
6 
7 namespace net {
8 
QuicClockSkewDetector(base::TimeTicks ticks_time,base::Time wall_time)9 QuicClockSkewDetector::QuicClockSkewDetector(base::TimeTicks ticks_time,
10                                              base::Time wall_time)
11     : last_ticks_time_(ticks_time), last_wall_time_(wall_time) {}
12 
ClockSkewDetected(base::TimeTicks ticks_now,base::Time wall_now)13 bool QuicClockSkewDetector::ClockSkewDetected(base::TimeTicks ticks_now,
14                                               base::Time wall_now) {
15   base::TimeDelta ticks_delta = ticks_now - last_ticks_time_;
16   base::TimeDelta wall_delta = wall_now - last_wall_time_;
17   base::TimeDelta offset = wall_delta - ticks_delta;
18   last_wall_time_ = wall_now;
19   last_ticks_time_ = ticks_now;
20 
21   if (offset < base::Seconds(1))
22     return false;
23 
24   return true;
25 }
26 
27 }  // namespace net
28