Index: net/quic/quic_time.h |
diff --git a/net/quic/quic_time.h b/net/quic/quic_time.h |
deleted file mode 100644 |
index ffdbb8063aa44c10982049605972fb08bd89fff9..0000000000000000000000000000000000000000 |
--- a/net/quic/quic_time.h |
+++ /dev/null |
@@ -1,268 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
-// |
-// QuicTime represents one point in time, stored in microsecond resolution. |
-// QuicTime is monotonically increasing, even across system clock adjustments. |
-// The epoch (time 0) of QuicTime is unspecified. |
-// |
-// This implementation wraps the classes base::TimeTicks and base::TimeDelta. |
- |
-#ifndef NET_QUIC_QUIC_TIME_H_ |
-#define NET_QUIC_QUIC_TIME_H_ |
- |
-#include <stdint.h> |
- |
-#include "base/compiler_specific.h" |
-#include "base/time/time.h" |
-#include "net/base/net_export.h" |
- |
-#define QUICTIME_CONSTEXPR inline |
- |
-namespace net { |
- |
-static const int kNumSecondsPerMinute = 60; |
-static const int kNumSecondsPerHour = kNumSecondsPerMinute * 60; |
-static const uint64_t kNumMicrosPerSecond = base::Time::kMicrosecondsPerSecond; |
-static const uint64_t kNumMicrosPerMilli = |
- base::Time::kMicrosecondsPerMillisecond; |
- |
-// A QuicTime is a purely relative time. QuicTime values from different clocks |
-// cannot be compared to each other. If you need an absolute time, see |
-// QuicWallTime, below. |
-class NET_EXPORT_PRIVATE QuicTime { |
- public: |
- // A QuicTime::Delta represents the signed difference between two points in |
- // time, stored in microsecond resolution. |
- class NET_EXPORT_PRIVATE Delta { |
- public: |
- explicit Delta(base::TimeDelta delta); |
- |
- // Create a object with an offset of 0. |
- static QUICTIME_CONSTEXPR Delta Zero() { return Delta(0); } |
- |
- // Create a object with infinite offset time. |
- static QUICTIME_CONSTEXPR Delta Infinite() { |
- return Delta(kQuicInfiniteTimeUs); |
- } |
- |
- // Converts a number of seconds to a time offset. |
- static QUICTIME_CONSTEXPR Delta FromSeconds(int64_t secs) { |
- return Delta(secs * 1000 * 1000); |
- } |
- |
- // Converts a number of milliseconds to a time offset. |
- static QUICTIME_CONSTEXPR Delta FromMilliseconds(int64_t ms) { |
- return Delta(ms * 1000); |
- } |
- |
- // Converts a number of microseconds to a time offset. |
- static QUICTIME_CONSTEXPR Delta FromMicroseconds(int64_t us) { |
- return Delta(us); |
- } |
- |
- // Converts the time offset to a rounded number of seconds. |
- inline int64_t ToSeconds() const { return time_offset_ / 1000 / 1000; } |
- |
- // Converts the time offset to a rounded number of milliseconds. |
- inline int64_t ToMilliseconds() const { return time_offset_ / 1000; } |
- |
- // Converts the time offset to a rounded number of microseconds. |
- inline int64_t ToMicroseconds() const { return time_offset_; } |
- |
- inline bool IsZero() const { return time_offset_ == 0; } |
- |
- inline bool IsInfinite() const { |
- return time_offset_ == kQuicInfiniteTimeUs; |
- } |
- |
- private: |
- base::TimeDelta delta_; |
- friend inline bool operator==(QuicTime::Delta lhs, QuicTime::Delta rhs); |
- friend inline bool operator<(QuicTime::Delta lhs, QuicTime::Delta rhs); |
- friend inline QuicTime::Delta operator<<(QuicTime::Delta lhs, size_t rhs); |
- friend inline QuicTime::Delta operator>>(QuicTime::Delta lhs, size_t rhs); |
- |
- friend inline QuicTime::Delta operator+(QuicTime::Delta lhs, |
- QuicTime::Delta rhs); |
- friend inline QuicTime::Delta operator-(QuicTime::Delta lhs, |
- QuicTime::Delta rhs); |
- friend inline QuicTime::Delta operator*(QuicTime::Delta lhs, int rhs); |
- friend inline QuicTime::Delta operator*(QuicTime::Delta lhs, double rhs); |
- |
- friend inline QuicTime operator+(QuicTime lhs, QuicTime::Delta rhs); |
- friend inline QuicTime operator-(QuicTime lhs, QuicTime::Delta rhs); |
- friend inline QuicTime::Delta operator-(QuicTime lhs, QuicTime rhs); |
- |
- static const int64_t kQuicInfiniteTimeUs = |
- std::numeric_limits<int64_t>::max(); |
- |
- explicit QUICTIME_CONSTEXPR Delta(int64_t time_offset) |
- : time_offset_(time_offset) {} |
- |
- int64_t time_offset_; |
- friend class QuicTime; |
- friend class QuicClock; |
- }; |
- |
- explicit QuicTime(base::TimeTicks ticks) : time_(ticks.ToInternalValue()) {} |
- |
- // Creates a new QuicTime with an internal value of 0. IsInitialized() |
- // will return false for these times. |
- static QUICTIME_CONSTEXPR QuicTime Zero() { return QuicTime(0); } |
- |
- // Creates a new QuicTime with an infinite time. |
- static QUICTIME_CONSTEXPR QuicTime Infinite() { |
- return QuicTime(Delta::kQuicInfiniteTimeUs); |
- } |
- |
- // Produce the internal value to be used when logging. This value |
- // represents the number of microseconds since some epoch. It may |
- // be the UNIX epoch on some platforms. On others, it may |
- // be a CPU ticks based value. |
- inline int64_t ToDebuggingValue() const { return time_; } |
- |
- inline bool IsInitialized() const { return 0 != time_; } |
- |
- private: |
- friend inline bool operator==(QuicTime lhs, QuicTime rhs); |
- friend inline bool operator<(QuicTime lhs, QuicTime rhs); |
- friend inline QuicTime operator+(QuicTime lhs, QuicTime::Delta rhs); |
- friend inline QuicTime operator-(QuicTime lhs, QuicTime::Delta rhs); |
- friend inline QuicTime::Delta operator-(QuicTime lhs, QuicTime rhs); |
- |
- explicit QUICTIME_CONSTEXPR QuicTime(int64_t time) : time_(time) {} |
- |
- int64_t time_; |
-}; |
- |
-// A QuicWallTime represents an absolute time that is globally consistent. In |
-// practice, clock-skew means that comparing values from different machines |
-// requires some flexibility. |
-class NET_EXPORT_PRIVATE QuicWallTime { |
- public: |
- // FromUNIXSeconds constructs a QuicWallTime from a count of the seconds |
- // since the UNIX epoch. |
- static QUICTIME_CONSTEXPR QuicWallTime FromUNIXSeconds(uint64_t seconds) { |
- return QuicWallTime(seconds * 1000000); |
- } |
- |
- static QUICTIME_CONSTEXPR QuicWallTime |
- FromUNIXMicroseconds(uint64_t microseconds) { |
- return QuicWallTime(microseconds); |
- } |
- |
- // Zero returns a QuicWallTime set to zero. IsZero will return true for this |
- // value. |
- static QUICTIME_CONSTEXPR QuicWallTime Zero() { return QuicWallTime(0); } |
- |
- // Returns the number of seconds since the UNIX epoch. |
- uint64_t ToUNIXSeconds() const; |
- // Returns the number of microseconds since the UNIX epoch. |
- uint64_t ToUNIXMicroseconds() const; |
- |
- bool IsAfter(QuicWallTime other) const; |
- bool IsBefore(QuicWallTime other) const; |
- |
- // IsZero returns true if this object is the result of calling |Zero|. |
- bool IsZero() const; |
- |
- // AbsoluteDifference returns the absolute value of the time difference |
- // between |this| and |other|. |
- QuicTime::Delta AbsoluteDifference(QuicWallTime other) const; |
- |
- // Add returns a new QuicWallTime that represents the time of |this| plus |
- // |delta|. |
- QuicWallTime Add(QuicTime::Delta delta) const WARN_UNUSED_RESULT; |
- |
- // Subtract returns a new QuicWallTime that represents the time of |this| |
- // minus |delta|. |
- QuicWallTime Subtract(QuicTime::Delta delta) const WARN_UNUSED_RESULT; |
- |
- private: |
- explicit QUICTIME_CONSTEXPR QuicWallTime(uint64_t microseconds) |
- : microseconds_(microseconds) {} |
- |
- uint64_t microseconds_; |
-}; |
- |
-// Non-member relational operators for QuicTime::Delta. |
-inline bool operator==(QuicTime::Delta lhs, QuicTime::Delta rhs) { |
- return lhs.time_offset_ == rhs.time_offset_; |
-} |
-inline bool operator!=(QuicTime::Delta lhs, QuicTime::Delta rhs) { |
- return !(lhs == rhs); |
-} |
-inline bool operator<(QuicTime::Delta lhs, QuicTime::Delta rhs) { |
- return lhs.time_offset_ < rhs.time_offset_; |
-} |
-inline bool operator>(QuicTime::Delta lhs, QuicTime::Delta rhs) { |
- return rhs < lhs; |
-} |
-inline bool operator<=(QuicTime::Delta lhs, QuicTime::Delta rhs) { |
- return !(rhs < lhs); |
-} |
-inline bool operator>=(QuicTime::Delta lhs, QuicTime::Delta rhs) { |
- return !(lhs < rhs); |
-} |
-inline QuicTime::Delta operator<<(QuicTime::Delta lhs, size_t rhs) { |
- return QuicTime::Delta(lhs.time_offset_ << rhs); |
-} |
-inline QuicTime::Delta operator>>(QuicTime::Delta lhs, size_t rhs) { |
- return QuicTime::Delta(lhs.time_offset_ >> rhs); |
-} |
- |
-// Non-member relational operators for QuicTime. |
-inline bool operator==(QuicTime lhs, QuicTime rhs) { |
- return lhs.time_ == rhs.time_; |
-} |
-inline bool operator!=(QuicTime lhs, QuicTime rhs) { |
- return !(lhs == rhs); |
-} |
-inline bool operator<(QuicTime lhs, QuicTime rhs) { |
- return lhs.time_ < rhs.time_; |
-} |
-inline bool operator>(QuicTime lhs, QuicTime rhs) { |
- return rhs < lhs; |
-} |
-inline bool operator<=(QuicTime lhs, QuicTime rhs) { |
- return !(rhs < lhs); |
-} |
-inline bool operator>=(QuicTime lhs, QuicTime rhs) { |
- return !(lhs < rhs); |
-} |
- |
-// Non-member arithmetic operators for QuicTime::Delta. |
-inline QuicTime::Delta operator+(QuicTime::Delta lhs, QuicTime::Delta rhs) { |
- return QuicTime::Delta(lhs.time_offset_ + rhs.time_offset_); |
-} |
-inline QuicTime::Delta operator-(QuicTime::Delta lhs, QuicTime::Delta rhs) { |
- return QuicTime::Delta(lhs.time_offset_ - rhs.time_offset_); |
-} |
-inline QuicTime::Delta operator*(QuicTime::Delta lhs, int rhs) { |
- return QuicTime::Delta(lhs.time_offset_ * rhs); |
-} |
-inline QuicTime::Delta operator*(QuicTime::Delta lhs, double rhs) { |
- return QuicTime::Delta(lhs.time_offset_ * rhs); |
-} |
-inline QuicTime::Delta operator*(int lhs, QuicTime::Delta rhs) { |
- return rhs * lhs; |
-} |
-inline QuicTime::Delta operator*(double lhs, QuicTime::Delta rhs) { |
- return rhs * lhs; |
-} |
- |
-// Non-member arithmetic operators for QuicTime and QuicTime::Delta. |
-inline QuicTime operator+(QuicTime lhs, QuicTime::Delta rhs) { |
- return QuicTime(lhs.time_ + rhs.time_offset_); |
-} |
-inline QuicTime operator-(QuicTime lhs, QuicTime::Delta rhs) { |
- return QuicTime(lhs.time_ - rhs.time_offset_); |
-} |
-inline QuicTime::Delta operator-(QuicTime lhs, QuicTime rhs) { |
- return QuicTime::Delta(lhs.time_ - rhs.time_); |
-} |
- |
-} // namespace net |
- |
-#endif // NET_QUIC_QUIC_TIME_H_ |