Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Unified Diff: webrtc/system_wrappers/interface/tick_util.h

Issue 1413333002: system_wrappers: rename interface -> include (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebased again! Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/system_wrappers/interface/tick_util.h
diff --git a/webrtc/system_wrappers/interface/tick_util.h b/webrtc/system_wrappers/interface/tick_util.h
deleted file mode 100644
index 0b7890e7c897c138827746bbe59e017dd15ff2bf..0000000000000000000000000000000000000000
--- a/webrtc/system_wrappers/interface/tick_util.h
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-// System independant wrapper for polling elapsed time in ms and us.
-// The implementation works in the tick domain which can be mapped over to the
-// time domain.
-#ifndef WEBRTC_SYSTEM_WRAPPERS_INTERFACE_TICK_UTIL_H_
-#define WEBRTC_SYSTEM_WRAPPERS_INTERFACE_TICK_UTIL_H_
-
-#if _WIN32
-// Note: The Windows header must always be included before mmsystem.h
-#include <windows.h>
-#include <mmsystem.h>
-#elif WEBRTC_LINUX
-#include <time.h>
-#elif WEBRTC_MAC
-#include <mach/mach_time.h>
-#include <string.h>
-#else
-#include <sys/time.h>
-#include <time.h>
-#endif
-
-#include "webrtc/typedefs.h"
-
-namespace webrtc {
-
-class TickInterval;
-
-// Class representing the current time.
-class TickTime {
- public:
- TickTime();
- explicit TickTime(int64_t ticks);
-
- // Current time in the tick domain.
- static TickTime Now();
-
- // Now in the time domain in ms.
- static int64_t MillisecondTimestamp();
-
- // Now in the time domain in us.
- static int64_t MicrosecondTimestamp();
-
- // Returns the number of ticks in the tick domain.
- int64_t Ticks() const;
-
- static int64_t MillisecondsToTicks(const int64_t ms);
-
- static int64_t TicksToMilliseconds(const int64_t ticks);
-
- // Returns a TickTime that is ticks later than the passed TickTime.
- friend TickTime operator+(const TickTime lhs, const int64_t ticks);
- TickTime& operator+=(const int64_t& ticks);
-
- // Returns a TickInterval that is the difference in ticks beween rhs and lhs.
- friend TickInterval operator-(const TickTime& lhs, const TickTime& rhs);
-
- // Call to engage the fake clock. This is useful for tests since relying on
- // a real clock often makes the test flaky.
- static void UseFakeClock(int64_t start_millisecond);
-
- // Advance the fake clock. Must be called after UseFakeClock.
- static void AdvanceFakeClock(int64_t milliseconds);
-
- private:
- static int64_t QueryOsForTicks();
-
- static bool use_fake_clock_;
- static int64_t fake_ticks_;
-
- int64_t ticks_;
-};
-
-// Represents a time delta in ticks.
-class TickInterval {
- public:
- TickInterval();
-
- int64_t Milliseconds() const;
- int64_t Microseconds() const;
-
- // Returns the sum of two TickIntervals as a TickInterval.
- friend TickInterval operator+(const TickInterval& lhs,
- const TickInterval& rhs);
- TickInterval& operator+=(const TickInterval& rhs);
-
- // Returns a TickInterval corresponding to rhs - lhs.
- friend TickInterval operator-(const TickInterval& lhs,
- const TickInterval& rhs);
- TickInterval& operator-=(const TickInterval& rhs);
-
- friend bool operator>(const TickInterval& lhs, const TickInterval& rhs);
- friend bool operator<=(const TickInterval& lhs, const TickInterval& rhs);
- friend bool operator<(const TickInterval& lhs, const TickInterval& rhs);
- friend bool operator>=(const TickInterval& lhs, const TickInterval& rhs);
-
- private:
- explicit TickInterval(int64_t interval);
-
- friend class TickTime;
- friend TickInterval operator-(const TickTime& lhs, const TickTime& rhs);
-
- private:
- int64_t interval_;
-};
-
-inline TickInterval operator+(const TickInterval& lhs,
- const TickInterval& rhs) {
- return TickInterval(lhs.interval_ + rhs.interval_);
-}
-
-inline TickInterval operator-(const TickInterval& lhs,
- const TickInterval& rhs) {
- return TickInterval(lhs.interval_ - rhs.interval_);
-}
-
-inline TickInterval operator-(const TickTime& lhs, const TickTime& rhs) {
- return TickInterval(lhs.ticks_ - rhs.ticks_);
-}
-
-inline TickTime operator+(const TickTime lhs, const int64_t ticks) {
- TickTime time = lhs;
- time.ticks_ += ticks;
- return time;
-}
-
-inline bool operator>(const TickInterval& lhs, const TickInterval& rhs) {
- return lhs.interval_ > rhs.interval_;
-}
-
-inline bool operator<=(const TickInterval& lhs, const TickInterval& rhs) {
- return lhs.interval_ <= rhs.interval_;
-}
-
-inline bool operator<(const TickInterval& lhs, const TickInterval& rhs) {
- return lhs.interval_ <= rhs.interval_;
-}
-
-inline bool operator>=(const TickInterval& lhs, const TickInterval& rhs) {
- return lhs.interval_ >= rhs.interval_;
-}
-
-inline TickTime::TickTime()
- : ticks_(0) {
-}
-
-inline TickTime::TickTime(int64_t ticks)
- : ticks_(ticks) {
-}
-
-inline TickTime TickTime::Now() {
- if (use_fake_clock_)
- return TickTime(fake_ticks_);
- else
- return TickTime(QueryOsForTicks());
-}
-
-inline int64_t TickTime::MillisecondTimestamp() {
- int64_t ticks = TickTime::Now().Ticks();
-#if _WIN32
-#ifdef USE_QUERY_PERFORMANCE_COUNTER
- LARGE_INTEGER qpfreq;
- QueryPerformanceFrequency(&qpfreq);
- return (ticks * 1000) / qpfreq.QuadPart;
-#else
- return ticks;
-#endif
-#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC)
- return ticks / 1000000LL;
-#else
- return ticks / 1000LL;
-#endif
-}
-
-inline int64_t TickTime::MicrosecondTimestamp() {
- int64_t ticks = TickTime::Now().Ticks();
-#if _WIN32
-#ifdef USE_QUERY_PERFORMANCE_COUNTER
- LARGE_INTEGER qpfreq;
- QueryPerformanceFrequency(&qpfreq);
- return (ticks * 1000) / (qpfreq.QuadPart / 1000);
-#else
- return ticks * 1000LL;
-#endif
-#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC)
- return ticks / 1000LL;
-#else
- return ticks;
-#endif
-}
-
-inline int64_t TickTime::Ticks() const {
- return ticks_;
-}
-
-inline int64_t TickTime::MillisecondsToTicks(const int64_t ms) {
-#if _WIN32
-#ifdef USE_QUERY_PERFORMANCE_COUNTER
- LARGE_INTEGER qpfreq;
- QueryPerformanceFrequency(&qpfreq);
- return (qpfreq.QuadPart * ms) / 1000;
-#else
- return ms;
-#endif
-#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC)
- return ms * 1000000LL;
-#else
- return ms * 1000LL;
-#endif
-}
-
-inline int64_t TickTime::TicksToMilliseconds(const int64_t ticks) {
-#if _WIN32
-#ifdef USE_QUERY_PERFORMANCE_COUNTER
- LARGE_INTEGER qpfreq;
- QueryPerformanceFrequency(&qpfreq);
- return (ticks * 1000) / qpfreq.QuadPart;
-#else
- return ticks;
-#endif
-#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC)
- return ticks / 1000000LL;
-#else
- return ticks / 1000LL;
-#endif
-}
-
-inline TickTime& TickTime::operator+=(const int64_t& ticks) {
- ticks_ += ticks;
- return *this;
-}
-
-inline TickInterval::TickInterval() : interval_(0) {
-}
-
-inline TickInterval::TickInterval(const int64_t interval)
- : interval_(interval) {
-}
-
-inline int64_t TickInterval::Milliseconds() const {
-#if _WIN32
-#ifdef USE_QUERY_PERFORMANCE_COUNTER
- LARGE_INTEGER qpfreq;
- QueryPerformanceFrequency(&qpfreq);
- return (interval_ * 1000) / qpfreq.QuadPart;
-#else
- // interval_ is in ms
- return interval_;
-#endif
-#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC)
- // interval_ is in ns
- return interval_ / 1000000;
-#else
- // interval_ is usecs
- return interval_ / 1000;
-#endif
-}
-
-inline int64_t TickInterval::Microseconds() const {
-#if _WIN32
-#ifdef USE_QUERY_PERFORMANCE_COUNTER
- LARGE_INTEGER qpfreq;
- QueryPerformanceFrequency(&qpfreq);
- return (interval_ * 1000000) / qpfreq.QuadPart;
-#else
- // interval_ is in ms
- return interval_ * 1000LL;
-#endif
-#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC)
- // interval_ is in ns
- return interval_ / 1000;
-#else
- // interval_ is usecs
- return interval_;
-#endif
-}
-
-inline TickInterval& TickInterval::operator+=(const TickInterval& rhs) {
- interval_ += rhs.interval_;
- return *this;
-}
-
-inline TickInterval& TickInterval::operator-=(const TickInterval& rhs) {
- interval_ -= rhs.interval_;
- return *this;
-}
-
-} // namespace webrtc
-
-#endif // WEBRTC_SYSTEM_WRAPPERS_INTERFACE_TICK_UTIL_H_
« no previous file with comments | « webrtc/system_wrappers/interface/thread_wrapper.h ('k') | webrtc/system_wrappers/interface/timestamp_extrapolator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698